Wireless mobile device
Abstract
[Subject] Thing [solution means] which raises experience of a user with wireless connection equipment by improving the system which communicates between wireless connection equipment The mobile equipment of the present invention, The radio transceiver logic constituted so that data communications might be alternatively carried out to other wireless connection equipment, Have the search logic which accesses the data which communicated from wireless connection equipment besides the above, and this search logic, Arrange the data which communicated from wireless connection equipment besides the above, and based on the feature containing the data which communicated from wireless connection equipment besides the above, data is re-arranged continuously, It has a display connected with this search logic so that operation is possible, and this display can display the data arranged [above-mentioned]. [Selection figure] Fig. 1
Term
Term ended
Projected expiry passed 17 February 2024, 2.6 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
10 claims: 3 independent, 7 dependent
- 1A wireless transceiver logic configured to selectively communicate data with another wireless connection device and a search logic for accessing data communicated from the other wireless connection device are provided, and the search logic includes the other wireless connection device. It comprises a display that organizes the data communicated from the connecting device, subsequently rearranges the data based on features including the data communicated from the other wireless connecting device, and is operably connected to the search logic. The display is a mobile device capable of displaying the organized data. 他の無線接続装置と選択的にデータ通信するように構成された無線トランシーバロジックと、 前記他の無線接続装置から通信されたデータにアクセスするサーチロジックを備え、該サーチロジックは、前記他の無線接続装置から通信されたデータを整理し、前記他の無線接続装置から通信されたデータを含む特徴に基づいてデータを続いて再整理し、 該サーチロジックと動作可能に接続されるディスプレイを備え、該ディスプレイは、前記整理されたデータを表示することが可能なモバイル装置。
- 32. The search logic includes filtering logic in data communication with the data structure, and the filtering logic is configured to selectively filter data representing other wireless connectivity devices based on a protocol. The mobile device described. 前記サーチロジックは、前記データ構造とのデータ通信におけるフィルタリングロジックを含み、該フィルタリングロジックは、プロトコルに基づいて他の無線接続装置を表すデータを選択的にフィルタリングするように構成された、請求項2記載のモバイル装置。
- 6Receiving data indicating the presence of compatible components over a wireless data connection, displaying the choice of compatible components, continuing to receive data further identifying the compatible components, rules. A method that is automatically performed by a wireless mobile device, including, according to, and based on said continued received data, changing the choice of the displayed compatible components. 無線データ接続を介して、コンパチブルな構成要素の存在を示すデータを受信すること、 前記コンパチブルな構成要素の選択肢を表示すること、 前記コンパチブルな構成要素をさらに識別するデータを引き続き受信すること、 規則に従って、また前記引き続き受信したデータに基づいて、前記表示されたコンパチブルな構成要素の選択肢を変更すること、とを含み、 無線モバイル装置によって自動的に実行される、方法。
Independent claims3
98 paragraphs, as filed
If a user of a wireless mobile device wants to request service from another wireless connection device, or otherwise wants to communicate with another wireless connection device, it starts a search and the other wireless connection device within the communication area. Find out.
For example, if a personal digital assistant (PDA) user wants to send a file to a nearby computer, the user will instruct the PDA to search for a qualified wireless connection device. Assuming that both the PDA and the computer use the same wireless communication protocol, the computer can be found and a communication link can be established between the two devices.
<p> Finding one or more qualified devices usually takes some time. In some cases, the user may not be able to start the search process early, which is not enough to complete the search by the time it is ready to start the desired task. By improving the system for communicating between wirelessly connected devices, the user's experience with the wirelessly connected devices can be improved. The present invention provides new and useful methods and systems for wirelessly operable devices.</p>
<p> The mobile device of the present invention includes a wireless transceiver logic configured to selectively communicate data with another wireless connection device, and a search logic for accessing data communicated from the other wireless connection device. The logic organizes the data communicated from the other wireless connection device and subsequently rearranges the data based on features including the data communicated from the other wireless connection device, with the search logic. It comprises a display that is operably connected, which is capable of displaying the organized data.</p>
The accompanying drawings, which are incorporated herein and form part of the specification, show embodiments of the system and method. This serves to illustrate embodiments of the system and method, along with the following detailed description. It will be appreciated that the boundary of the elements shown in the figure (eg, box, box group, or other shape) represents an example of the boundary. Those skilled in the art will understand that an element may be designed as multiple elements, or multiple elements may be designed as one element. An element shown as an internal component of another element may be implemented as an external component and vice versa.
The following includes definitions of selected terms used throughout this disclosure. The definition includes examples of various embodiments and / or embodiments of components that are within the scope of the term and may be used in embodiments. Of course, these examples are not intended to be limiting and other embodiments may be implemented. Both the singular and plural of all terms are included in each meaning. As used herein, "address" refers to one or more communication networks accessible addresses, device identifiers, IP addresses, email addresses, distribution lists containing one or more email addresses, urls and ftp locations. Etc., including, but not limited to, network drive locations, postal addresses, or other types of addresses capable of identifying desired destinations or devices.
As used herein, "computer-readable medium" refers to any medium that is directly or indirectly involved in providing signals, instructions, and / or data to one or more processors for execution. Such media can take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Examples of the non-volatile medium include optical disks and magnetic disks. A dynamic memory can be mentioned as a volatile medium. Examples of the transmission medium include coaxial cables, conducting wires, and optical fiber cables. Further, the transmission medium can take the form of an acoustic wave or an optical wave such as those generated during radio wave and infrared data communication, or can take the form of one or more signal groups. Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punched cards, paper tape, hole patterns. Any other physical medium that has RAM, PROM, EPROM, flash EPROM, any other chip or cartridge, carrier / pulse, or any other medium that can be read by a computer, processor or other electronic device. Be done. Signals used to propagate instructions or other software over networks such as the Internet are also considered "computer-readable media."
As used herein, "logic" is hardware, firmware, software, and / or that perform a function (s) or action (s) and / or cause another component to perform the function or action. Including, but not limited to, combinations of each of these. For example, based on the desired application or need, the logic may include discrete logic such as software controlled microprocessors, application specific integrated circuits (ASICs), programmed logic devices, devices containing instructions, and the like. The logic can also be fully incorporated as software.
As used herein, "signal" is one or more electrical signals, analog signals, digital signals, one or more computer or processor instructions, messages, bits or bitstreams, or received, transmitted, and / or. It includes, but is not limited to, other means that can be detected.
As used herein, "software" includes one or more computer-readable and / or executable instructions that cause a computer or other electronic device to perform functions, actions, and / or behaviors as desired. Not limited to this. Instructions can be incorporated in various forms such as routines, algorithms, modules, or programs containing separate applications or code from dynamically linked libraries. The software can also be implemented in various forms such as stand-alone programs, function calls, Servlets, applets, in-memory instructions, parts of the operating system, or other types of executable instructions. Those skilled in the art will appreciate that the form of the software depends, for example, on the requirements of the desired application, the environment in which it is run, and / or the needs of the designer / programmer. As used herein, "user" includes, but is not limited to, one or more people, software, computers or other devices, or combinations thereof.
Generally speaking, one embodiment of a system and method is provided for use in conjunction with a wirelessly operable mobile device. This system and method assists in the discovery of other wirelessly operable devices to handle job requests. In one embodiment, the system discovers and prints a wirelessly operable imaging device while allowing the user of the mobile device to perform other tasks while performing a search. Configured to handle requests. Other embodiments and features will be described in more detail in the following examples.
FIG. 1 shows an embodiment of a mobile device 100 configured for wireless communication. The mobile device 100 can be embodied in various forms and can include various features. For example, the mobile device 100 can be a cellular device, a personal digital assistant, a digital camera, a mobile phone with a digital camera function, a portable computer, or another type of processing device. The mobile device 100 includes, for example, a processor 105, an operating system 110, and a processing system having an application program interface (API) 115 to provide communication between one or more software applications 120 and the operating system 110. be able to. The processing system of the mobile device 100 can be configured to execute various software applications 120, but the following embodiments will be described with reference to the image forming application 125 and the asynchronous search logic 130. ..
Image forming application 125 represents a software application that allows a user to print or image selected documents, files, images, or other data. The image forming application 125 can be, for example, a document processing application, a photo processing application, a browser, or other software capable of printing.
Other components of the mobile device 100 may include memory and / or storage device 135, which may include any type of computer-readable medium. The storage device 135 may also include a port for receiving and reading data stored on a removable memory card or other removable computer-readable medium. Interface 140 can include a display screen, one or more buttons, a pointing device, or other type of device capable of communicating data to and receiving input from the user. A wireless transceiver logic 145 is provided for wireless communication. Depending on the desired wireless communication protocol, the transceiver logic 145 can be configured according to different specifications.
In one embodiment, the wireless protocol is Bluetooth and the transceiver logic 145 includes a Bluetooth radio and antenna. Bluetooth specifications can be found at www.Bluetooth.org. Other protocols include IEEE 802.11 (more on this can be found at www.ieee802.org on the Internet) or other available wireless protocols. In one embodiment, the radio frequency transceiver logic 145 includes a radio frequency transceiver configured to transmit and receive radio frequency signals, but any type having a low power transmitter capable of transmitting short distances (eg, less than 100 m). It can also be a transceiver. Infrared communication can also be used. The transceiver logic 145 is removable, such as a PCMCIA card (PC card) that can be incorporated as a microchip within the mobile device 100 or can be connected to and disconnected from the mobile device 100 via a connection port or slot. It can be configured on the device.
Further referring to FIG. 1, one or more suitable devices need to be found or discovered before the mobile device 100 can transmit the job request to another wirelessly operable device for processing. The mobile device 100 is also called a client device because it requests a service in this scenario, and a suitable device is also called a server device because it provides a service. For example, a suitable server device should have a compatible wireless communication protocol as well as specific functionality for processing job requests. Of course, the functionality depends on the type of job request.
In a simplified embodiment, the asynchronous search logic 130 causes the wireless transceiver logic 145 to broadcast one or more signals 150. Signal 150 queries for the presence of other radio-operable devices 155 within signal 150. A device that uses a wireless communication protocol compatible with the wireless transceiver logic 145 can return an approval signal in response to an inquiry signal. It will be understood that compatible devices refer to devices that can wirelessly communicate with the mobile device 100. For example, a compatible device may have the same wireless communication protocol and / or logic as the mobile device 100, have similar logic, or be different from the wireless logic of the mobile device 100, but mobile. It may have a radio logic configured to recognize and communicate with the radio communication protocol of the device 100.
It usually takes some time to search for a server device and establish wireless communication with the server device. In order to reduce the delay time for the user of the mobile device 100, in one embodiment the asynchronous search logic 130 is configured to run asynchronously with other processes and applications running on the mobile device 100. .. In other words, the search process is performed by the operating system 110 as a background task, allowing the user to perform other tasks while performing the search process. It will be appreciated that the search logic 130 may be incorporated in different forms such as stand-alone applications, resident programs, device drivers, or other types of software or logic that can run in the background. In this regard, it is possible to provide execution logic (not shown) configured to execute search logic asynchronously as a background task. The execution logic can be part of the operating system, part of the search logic, both, or separate software.
To further reduce the delay time for the user, the asynchronous search logic 130 can be configured to execute automatically in response to a trigger event. Therefore, the user can be unaware that the search is being performed. For example, when the image forming application 125 is started, it can trigger the execution of the search logic 130. The assumption in this case is that the image forming application 125 allows the user to select printer options. The delay time can be reduced by performing a search before the user decides to print, rather than waiting for the user to start the search logic 130. By the time the user is ready to print, the available print server can already be discovered and ready to accept the print request. Other types of trigger events are described in the following sections.
FIG. 2 shows an embodiment of the search method 200 for finding another wirelessly operable device capable of communicating with the client device. The illustrated element represents a "processing block" and represents a software instruction or instruction group that causes a computer to perform an action (s) and / or make a decision. Alternatively, the processing block can represent a function and / or action in which a function such as a digital signal processor circuit, an application specific integrated circuit (ASIC), or other logic device is performed by an equivalent circuit. This figure, like the other figures shown, does not show the syntax of any particular programming language. Rather, this figure shows functional information that can be used by those skilled in the art to assemble circuits, generate computer software, or perform the processes illustrated using a combination of hardware and software. Electronic and software applications can include dynamic and flexible processes, so the blocks shown may be executed in a different order than shown, and / or the blocks may be combined or configured. It will be understood that it may be divided into elements. Blocks can also be implemented using a variety of programming techniques such as machine language, procedural, object-oriented, and / or artificial intelligence techniques. The above applies to all methods described herein.
See Figure 2. When a trigger event is detected, the search begins (block 205). Trigger events can be configured as user-started events or non-user-started events. The non-user start event in this case causes the search process to be executed without the user's information. Non-user start events, also called automatic, can be associated with another software application based on system events such as power-on or other types of automatic events based on regular intervals. In one embodiment, the trigger event is associated with another software application. This triggers the search process when the other software application is started. The search is performed as a background process trying to find other wirelessly operational devices (block 210). If one or more devices are found, the device identifier or other identification data corresponding to each found device can be displayed (block 215). The display can be represented automatically or based on user requirements.
With reference to FIG. 1 again, as another example, in one embodiment, the mobile device 100 includes a digital camera 160 and a cellular phone 165, also referred to as a camera-equipped mobile phone. Suppose the search process is configured to find an image forming device that can accept wireless print jobs. It is also assumed that the trigger event is based on an image forming application such as a photo processing program. In response to the user starting the photo processing program, the search process is automatically started and executed asynchronously with the photo processing program. When the user opens a photo processing program, finds and selects the desired photo, and uses the program to perform other functions, the search process provides an available image forming device that can print the photo. You can find it.
By the time the user is ready to select a print function in the photo processing program, the search process can be made complete or nearly complete. In addition, the found image forming apparatus can be displayed to the user. When the user selects an image forming apparatus, the transceiver logic 145 establishes a wireless communication link or channel with the transceiver of the selected image forming apparatus and transmits an image forming request. Running the search process as a background task allows the user to continue interacting with other applications and the mobile device 100 during the search process. The waiting time can be reduced and the user's experience using the mobile device 100 can be improved.
Further with reference to FIG. 2, another embodiment of the search process is shown. Once the search is initiated in block 210, various tasks can be performed during the search, depending on the communication protocol being performed and the type of wireless connection device being searched for. For example, a search can query and attempt to detect compatible wireless connectivity devices (server devices) within range (block 220). As mentioned earlier, compatible devices include devices that have the same or similar radio logic and protocols, or that can recognize different protocols. Finding and displaying all compatible server devices may not be beneficial to users performing certain tasks. Using the above photo processing example, it is useful to filter the server devices that are most likely to be able to print photos from the found server devices. In this case, the search can try to determine the features supported by the detected server device (block 225).
This decision can be achieved in different ways based on the radio protocol used. For example, when the Bluetooth protocol is used, the detected server device responds to the query and returns various information related to the server device. For example, a server device can return a Bluetooth device address, device name, clock, and / or device / class of service parameters. The device / service class parameters include data representing the characteristics of the server device, and an example of this is shown in FIG. When filing this application, Bluetooth protocol device / service class parameters are defined by 24-bit data fields, including major device class (5 bit), minor device class (6 bit), and service class (11 bit) allocations. To. The 24-bit data field also includes a 2-bit format type field. Of course, other configurations may be used. Device / service class parameters can also be referred to as "device / service parameter data" and may contain one or more of the above types of information regardless of how such information is named by the radio protocol. Will be understood.
Examples of major device classes are Other (bit value 00000), Computer (bit value 00001), Phone (bit value 00010), LAN / network access point (bit value 00011), Audio / Video (bit value 00100), Periphery. Equipment (bit value 00101), image formation (bit value 00110), and unclassified (bit value 11111) can be mentioned. Minor device classes include subcategories of each major device class that further characterize the device. For example, minor device classes in the image formation major class include displays, cameras, scanners, and printers. Examples of service classes include positioning, networking, rendering, capture, object transfer, audio, telephone communications, and information. Thus, if the search is querying the printing device and the detected device is not an "image forming" device based on the major device class, the detected device can be removed from the qualified printing device. If the major device class is "image formation" and the minor device class is "printer", the detected device can be a qualified printing device. A more detailed list of allocation classes can be found at www.Bluetooth.org. Of course, it will be appreciated that other forms of data and allocations can be configured to specify the type of device and other features.
If the detected device is an image forming device, its image forming performance can be determined (block 230). Further, the type of the image forming apparatus can also determine whether the apparatus is a printer or a printing apparatus. For the Bluetooth protocol, this can be done using the class / service discovery profile defined by Bluetooth, which is described in more detail below. At the time of this application, the Bluetooth operable image forming apparatus can support the basic print profile (BPP) which can be determined by inquiry. The basic print profile describes the use of a page description language (eg, XHTML-Print) and an image coding standard (eg, JPEG). An image forming apparatus that supports BPP (sometimes called a BPP printer) has image rendering performance. A mobile device that does not have rendering performance needs to submit a print request to an image forming device that has rendering performance to process the print request.
The detected devices are then filtered based on their type and function to generate a list of currently detected devices (block 235). For each detected image forming device, the attributes of that device can be stored in a list of previously detected devices (block 240), and this list can be used to search for subsequent image forming devices. .. The attributes to be remembered will be described in more detail with reference to the installation process.
Another embodiment of the asynchronous search logic 300 is shown with reference to FIG. The search logic is configured to start based on trigger event 305. In one embodiment, the trigger event 305 can be configured to automatically start the search logic 300 without the user noticing the start. Discovery component 310 is configured to communicate with the device's radio transceiver and instruct the transceiver to discover other compatible radio-operable devices (server devices) according to the radio communication protocol being implemented. .. Upon receiving information from the server device to approve the discovery request, the filter logic 315 can be configured to filter the detected server device based on its relevance and ability to process the job request of the server device. .. For example, filter logic 315 can remove detected devices if they are not of a particular type. The filter logic can then generate a sorted detector list 320 based on the validity ranking of the device's performance. It is also possible to generate other validity identifiers that allow the user to identify the detected device, such as a validity score, icon, color, or other type of visual identifier. The display logic 325 can then display the filtered detector list 320 and present it to the user for selection.
The asynchronous search logic 300 can be incorporated into a computer-readable medium in various forms. This is an object, such as a device driver, loaded and used by the operating system as appropriate, whether it is a stand-alone application loaded on the mobile device 100 or part of an operating system preloaded on the mobile device. It may be retained as, firmware, or other type of software form. In one embodiment, the execution logic is configured to perform search logic 300 and filter logic 315 as one or more background tasks on a mobile device that allow the user to perform other tasks at the same time. .. The execution logic can be part of the operating system, part of the search logic, both, or separate software.
With one or more detected devices visible to the user, the user can select the desired device to process the print request or other types of job requests. It will be appreciated that the search logic 300 can be configured to discover and filter devices based on certain types of job requests. For example, if the job request is related to printing a photo, the search logic is configured to filter the detected devices based on their respective image formation performance. If the job request is related to fax transmission of a document, the search logic is configured to find and filter detectors with facsimile performance. Other examples will be understood by those skilled in the art.
FIG. 4 shows an embodiment of a decision tree that can be used to filter devices detected during a search. Decision Tree 400 queries device / service class parameters based on the Bluetooth protocol. As mentioned earlier, the device / service class parameters include the numbers assigned to the major device class, minor device class, and major service class when filing the application. An example of the parameters is shown in Fig. 8.
At the search query stage, it is determined whether the device is a qualified Bluetooth device (block 405). This can be determined simply by whether or not the approval signal is returned in response to the inquiry signal. The Bluetooth device can also send device / service class parameter data indicating the values assigned to the major device class, minor device class, and / or service class. Data related to the service performance or class of service of a device, whether major or minor, is referred to as "service class data". When filtering an image forming apparatus, the search can determine whether the major service class of the detected apparatus includes "rendering" performance and "object transfer" performance (block 410).
If the class of service data does not show these performances, the device is either removed or not included in the qualified device list (block 415). If the device includes these performances, the major device class is checked to determine if the device is an "image forming" device (block 420). If it is not an image forming device, it is still possible that the device will support basic printing (eg, BPP devices). Since its performance is uncertain, the device can be added to the list of qualified image forming devices, but its validity ranking is low. If the device is an image forming device, the tree moves to block 430, where the minor device class is checked. If the minor device class is not "printer", the device is removed (block 435). If the minor class is "printer", the device is identified as a promising BPP printer and included in the qualified device list (block 440).
FIG. 5 shows an embodiment of a system that stores information on qualified devices found during a background search and automatically installs qualified server devices for use in subsequent searches. For example, storing information about a discovered device that was previously determined to be a qualified printing device can accelerate the process of searching for the same device in the future. In this case, the mobile device 100 can be provided with an installation logic 500 that communicates with the asynchronous search logic 130 or 300.
If the discovered device is determined to be a qualified image forming device, the device identifier and / or attributes are stored in the previously discovered device 505 data structure. Data structures can be incorporated as one or more databases, tables, text files, linked lists, or other desired data structures and stored on computer-readable media. Examples of information that can be stored about a device include device addresses, names, identifiers, and other parameters such as device classes and service classes that can be retrieved during discovery. These types of attributes are generally static attributes because once assigned to a device they do not change frequently.
Other types of dynamic attributes can also be generated and stored for each device. These include time stamps that identify the date and time when the device was discovered. As described in more detail below, device time stamps can affect their relevance as a server device eligible for future job requests. For example, if a device was discovered six months ago, it is unlikely that the device is still in range. Therefore, the validity of the device as a qualified server device is also probably low. The validity, of course, can be changed if the current search finds a device within range.
Another device attribute can be the location information of the discovered device. The location of the server device with respect to the location of the mobile device (client device) can be incorporated as a factor regarding the validity of the server device. If the location of the server device is known, that location is compared to the location of the mobile device and the distance between the two is determined. In this embodiment, the mobile device can include positioning logic such as a Global Positioning System receiver (GPS), Assisted Global Positioning System (AGPS), or other location identification system. Other attributes may include the unique name or identification number of the device that can assist the system in identifying the device found in the subsequent search.
In order to determine the validity of the previously discovered device 505, the validation logic 510 is configured to analyze and verify the device attributes and generate a validity score for each device. The validation logic 510 can be configured to analyze selected attributes from the device attributes stored in data structure 505 and use them as validity attributes 515 for determination.
In one embodiment, the timestamp attribute can be the validity attribute 515 compared to the current time of the search. As mentioned earlier, the time stamp reflects the time when the corresponding device was first discovered. Therefore, the validity of the server device can be increased or decreased based on how long ago it was discovered. For example, if a server device has a time stamp of 30 minutes from the current time, its validity is much higher than the validity of a server device with a time stamp of 6 months ago.
Another validity attribute 515 can be the location of the server device. Since most wireless protocols have a limited communication range (for example, a range of about 10 m for a Bluetooth image forming device), the validity of the device can be determined by whether the device is still within range. it can. As mentioned earlier, the range or distance between the server device and the mobile device can be determined from the location of the mobile device relative to the location of the server device. If the server device is within range, the device gets a higher validity score than the device that was out of range. This assumes that such location information can be provided to mobile devices, such as by using a Global Positioning System (GPS or AGPS).
In another embodiment, the verification logic 510 can be configured to preselect a server device from a previously discovered device 505 based on location information. For example, if Logic knows that the location or approximate location of a mobile device is, for example, the Chicago area, it may select only the server devices that are in the Chicago area and make a sex determination on those server devices. it can. This avoids processing devices that are not in the area and provides the user with a more relevant list of server devices.
The unique name or identification information (ID) of the server device can also be used to determine validity. For example, during the current search, if the unique name or ID of the previously discovered device matches the unique name or ID from the previously discovered device 505, the validity score can be increased. In addition, because such devices have been discovered in advance and filtered as qualified image forming devices, the current search is performed during the service discovery step or the step of determining device performance during the previous search. Therefore, it is possible to avoid performing these steps additionally. Therefore, this can accelerate the search process.
Further referring to FIG. 5, the validity identifier 520 can be generated for each of the previously discovered devices 505, indicating the validity of each. For example, the validity identifier 520 is a validity score based on a predefined range, such as 0-10, 0-100, or a higher score indicating higher validity and vice versa. Can be done. The validity score can also be in the form of a percentage. Other types of validity identifiers may include icons or other graphical indicators that can be associated with the device name. When displayed to the user, the icon indicates the validity of the device and can distinguish the highly valid device from the less valid device. Other types of graphical indicators can include displaying server device names with different colors for different validity scores. The validation logic 510 can also be configured to generate a sorted list of devices based on the validity of each device. In this way, the sorted list acts as an identifier.
The display logic 525 can be configured to display to the user the name of the previously discovered device and the validity identifier 520 associated with each. When the list is displayed, it can include a selection logic 530 that allows the user to select a particular device from the displayed list to indicate the user's preference. If the discovery search is still in progress, once the selected device is found, the search can be stopped without having to discover all the devices in the area.
In another embodiment, the installation logic 500 can be configured to store usage information for each of the previously discovered devices 505. For example, the usage count can be incremented each time a server device is used or selected for a job request. This may be part of the selection logic 530. In this way, the mobile device can try to learn and determine a user's device preference. Server devices that have been used more frequently in the past can receive higher validity scores. In addition, by combining usage and location information, the installation logic 500 can generate a more relevant and meaningful list of server devices for the user to make choices.
For example, it is assumed that the image forming apparatus (ID = XYZ1) in the building 123 located in Boise, Idaho has been discovered in advance and stored in the data structure 505. Furthermore, it is assumed that the attributes of XYZ1 indicate that this image forming device has a higher usage count than other devices, which means that XYZ1 is used more frequently by mobile devices than any other device. It means that you have come. Whenever the installation logic 500 validates or installs a qualified server device, the device XYZ1 gets a very high validity score, whenever the mobile device is in the same location, eg, building 123 located in Boise. It is displayed as a device preferred by the user. Other server devices (if any) with lower usage counts in the area are assigned lower validity.
FIG. 6 shows an embodiment of the installation method 600. The device attributes from the previously detected device list are read (block 605). The selected attributes are then analyzed to verify each previously discovered device (block 610). The validity of each device is determined based on the device attributes, such as timestamp, location, username, usage information, or other selected attributes (block 615). The device list can then be displayed based on each validity and / or with a validity score displayed, allowing the user to select a device from the list (block 620).
An embodiment of the user selection process is shown with reference to FIG. This process can be part of the installation process where the user selects a device from the list of previously discovered devices displayed. This process begins when a selection is found in the list of previous devices displayed (block 705). If the search has not yet started, the search for the selected device will start (block 710). If the search is already in progress and a device matching the device selected by the search has been found, the performance determination of the found device can be omitted (block 715). The performance of the device is then determined and verified in advance so that the search can be stopped (block 720).
Suitable software for implementing the system and various components of the method using the teachings presented herein are Java, C #, C ++, C, CGI, Perl, SQL, API, SDKs, assemblies, firmware. Includes programming languages and tools such as, microcode, and / or other languages and tools. Components built into the software include computer-readable / executable instructions that cause one or more computers, processors, and / or other electronic devices to behave as instructed. Any software or logic, whether system-wide or a component of the system, can be incorporated as a product and maintained as part of a previously defined computer-readable medium. Another form of software may include a signal that transmits the program code of the software to the receiver via a network or other communication medium. It will be appreciated that the components described herein may be implemented as separate components or may be combined together.
With reference to FIG. 1 again, an embodiment of the wireless transceiver logic 145 configured and operating according to the Bluetooth specification will be described below. A detailed description of this specification can be found at www.Bluetooth.org on the Internet. Of course, those skilled in the art will understand that the Bluetooth specification can change in the future. Therefore, the system can be modified to meet future communication requirements and / or standards.
Based on the Bluetooth specification, the transceiver logic 145 can include a Bluetooth PICO net (BPN) antenna that connects the mobile device 100 through a wireless network. The BPN antenna is a circularly polarized antenna having omnidirectional characteristics and having constant transmission / reception sensitivity in all directions, or an antenna capable of radiating a plurality of polarized waves. The transceiver 145 may be a radio, but it can also be any other RF transceiver with a low power transmitter capable of transmitting short distances (eg, less than 100 m).
FIG. 9 shows an embodiment of a system that filters discovered wireless connectivity devices based on how well the functional performance matches one or more performances desired for a job request. The following examples are described with reference to Bluetooth capable image forming devices (server devices), but it will be appreciated that other types of electronic devices can be used as well as other types of wireless communication protocols. In one embodiment, the mobile device 900 is also described as being a camera-equipped mobile phone (client device) in the example, but other types of mobile devices can also be used as described above. It will be appreciated that the components shown within the mobile device 900 may include some or all of the components shown in the embodiment of FIG. 1, or other components depending on the type of mobile device implemented.
Filtering and / or prioritizing the discovered image-forming devices based on their respective performance during or after the search to discover available server devices (eg, Bluetooth-enabled image-forming devices). Can be done. Users of mobile device 900 may need extended information about the performance of each device discovered so that they can select the appropriate device to handle the job request. For example, assume that three image forming devices 905 are found during the search, including image forming devices A, B, and C. Each image forming apparatus A to C may include one or more predefined service attributes 910A to C representing the image forming performance of the image forming apparatus, respectively. The service attribute 910 can be sent to the mobile device 900 in response to a request for such an attribute, or can be sent automatically during discovery. In one embodiment, communication is performed through a radio frequency (RF) transceiver 915 that communicates with a compatible RF transceiver (not shown) connected to each image forming apparatus 905. The RF transceiver 915 can be configured similar to the wireless transceiver logic 145 shown in FIG.
If the user wants to print an image, eg a photo from a camera, an image formation request 920 is generated. One or more desired service attributes 925 indicating the desired image forming performance for processing the image forming request 920 can be defined in the image forming request 920. The desired service attribute 925 can include preferred attributes, required attributes, values representing image formation performance, range values, or upper and / or lower limits of other types of data. Examples of service attributes include color, double-sided printing, print speed, print cost, print quality, security type, print medium type, data format, printer location, and other types of attributes. If the image forming apparatus 905 is found during or after the discovery search, the performance of each apparatus can be matched or compared with the desired service attribute 925.
Filtering logic 930 is provided to perform the comparison and determine that the image forming apparatus is most suitable for the image forming request 920. For example, the comparison logic 935 compares the value of the desired service attribute 925 with the corresponding values from the service attributes 910A-C, respectively, which of the image forming apparatus 905 is more appropriate for processing the image forming request 920. Can be configured to determine. A validity identifier 940 can be generated for each image forming apparatus 905 based on how well the service attribute 910 matches the desired service attribute 925. The validity identifier 940 can include other types of validity indicators, such as those described using a score, a percentage value, or the validity identifier shown in FIG.
Many different types of scoring algorithms can be programmed with the comparison logic 935 to determine the validity of the image forming apparatus. For example, if the desired service attribute 925 contains one or more required attributes and the image forming apparatus does not have the required attribute performance, the validity of the image forming apparatus is very low. It is also possible to apply different validity weights to a particular desired service attribute 925 based on what the user indicates as important to the image formation request 920. For example, if the image formation request 920 is a print of a photo, color can be a required service attribute. However, the user can indicate that color is optional, which has less impact on the validity of non-color printers.
As another example, when printing a document with many pages, print speed and double-sided printing can be set as required attributes. For traveling users, the cost of the print solution can be a determinant in choosing an image forming apparatus to handle the image forming request 920. Another type of user is interested in the security and location of the image forming apparatus and may exhibit these attributes with specific values as a requirement. Other types of attributes can have values that can have upper and / or lower limits to indicate user preference. For example, one service attribute can be a "print speed" that can be set to a range or a value with a limit such as at least 10 sheets per minute. Therefore, an image forming apparatus having a printing rate of 5 sheets per minute receives a lower validity than an apparatus that meets the printing rate standard.
Once the validity of each discovered image forming apparatus 905 is determined, the apparatus list 945 is generated and / or updated to show the validity of each discovered image forming apparatus and the current image forming request 920. be able to. The device list 945 can be a prioritized or sorted list showing each device with the highest to lowest validity. Of course, the device list 945 can be displayed in other ways, such as in alphanumeric order of device names, by color encoded by validity, by validity score, or by another desired method. The user can then select one of the available image forming devices from the device list 945. This allows the RF transceiver 915 to establish a communication link with the selected image forming apparatus and transmit the image forming request for processing.
Further referring to FIG. 9, the mobile device 900 can include an attribute manager 950 that includes logic that allows the user to define and set a value for the service attribute 925 desired in the image formation request. Attributes can be defined separately for each generated image formation request and / or define a default set of desired attributes and apply to each image formation request unless the user specifies otherwise. Can be done. Attribute manager 950 can include a predefined set of attributes. Once the desired attributes have been defined in the print request or defined as the default set, the Attribute Manager 950 can present the attributes to the user for selection and / or modification through menus or dialog boxes. Next, the user can set / change the value of each attribute. In one embodiment that uses a standardized set of attributes for a selected communication protocol, each device that uses that protocol can be configured to have the same selectable standardized attributes. Therefore, when determining the characteristics of the device, it is possible to easily compare the desired attribute with the attribute of another device because the corresponding attribute exists. In other embodiments, the Attribute Manager 950 also allows the user to define one or more new desired service attributes.
As the availability and number of wirelessly operable image forming devices increase, users of mobile device 900 may be more likely to encounter these devices during a discovery search, as well as more than one device. By filtering the discovered devices based on user-specified preferences and attributes, the discovered devices can be displayed as a prioritized list, which makes it easier for the user to select the desired image forming device. can do.
FIG. 10 shows an embodiment of an image forming apparatus 1000 that includes a compatible RF transceiver logic 1005 configured to communicate with the RF transceiver 915 shown in FIG. The image forming apparatus 1000 is configured to include one or more service attributes 1010 representing the performance of the image forming apparatus. Service attribute 1010 can be stored in one or more data structures such as tables, arrays, lists, files, etc., and can be stored in memory or other types of computer-readable media. Service attribute 1010 can be sent to the mobile device automatically or in response to a request. The attributes allow the mobile device to better determine whether the image forming apparatus 1000 is capable of processing the image forming request according to a particular preference.
You can include service identification logic 1015 that is configured to generate and / or modify service attribute 1010. In this regard, an attribute manager 1020 can be provided that includes an interface for entering and setting values for service attribute 1010. For example, the interface can be a display panel, a control panel, a software dialog box, or other input means. In another embodiment, the service identification logic 1015 can be configured to load the service attribute 1010 from an external device such as a computer into the image forming apparatus 1000. For example, a computer can include software that sets a value for a service attribute of image forming apparatus 1000, then sends the value and loads it into the service attribute data structure 1010. Therefore, when the image forming apparatus 1000 responds to the discovery request from the mobile device, the RF transceiver logic 1005 can transmit the service attribute 1010 to the mobile device. This allows the mobile device to better determine the performance of the image forming apparatus 1000 before transmitting the image forming request.
Further, the image forming apparatus 1000 can include a rendering logic 1025 configured to generate a printable image from an image forming request. Rendering varies based on the format of the data involved and the type of image forming apparatus. In general, rendering logic 1025 transforms a high-level object-based description (eg, an image formation request) into a graphical image (eg, a printable image) to display or print. For example, one form is ray tracing, which employs mathematical models of 3D objects or scenes and transforms them into bitmap images. Another example is the process of converting HTML into an image to display / print.
The image forming apparatus 1000 further includes an image forming mechanism 1030 configured to generate an image from a printable image on a print medium. The image forming mechanism 1030 varies depending on the type of image forming apparatus and may include a laser image forming mechanism, another toner-based image forming mechanism, an inkjet mechanism, a digital image forming mechanism, or another image forming reproduction engine. .. Processor 1035, which is implemented with the logic that controls the operation of the image forming apparatus 1000, can be included. In one embodiment, processor 1035 comprises logic capable of executing Java instructions. Other components of the image forming apparatus 1000 are not described herein, but may include media processing and storage mechanisms, sensors, controllers, and other components involved in the image forming process.
FIG. 11 shows an embodiment of a method of filtering discovered devices based on their respective performances. As mentioned earlier, performance-based filtering can be done during or after the discovery of a wirelessly operational device (block 1105). Initially, even if a wireless connection device is discovered, it may include a device that does not justify the current job request. For example, if the job request is an image forming request that requires an image forming apparatus, the cell phone found is unsuitable. Thus, the discovered device can be identified and filtered based on the device and / or service type information provided by the discovered device (block 1110).
In one embodiment using the Bluetooth communication protocol, the Bluetooth specification identifies the device class and service class that allow the initial identification and filtering to be performed. This allows the mobile device to identify whether the discovered device is an image forming device and whether it is a different type of device than desired. From the identified image forming apparatus, further filtering can be performed based on the respective image forming performance (for example, service attribute) (block 1115). It will be appreciated that filtering does not necessarily mean removal of the device, but involves changing the validity or priority of the device.
The relevance of image forming apparatus performance depends on how well it matches one or more desired service attributes associated with the image forming request. The filtered image forming apparatus can then be displayed for selection based on their respective validity (block 1120). Therefore, the validity of an image forming apparatus increases when the performance of the image forming apparatus is closely matched to one or more desired service attributes of the image forming requirements. The user can then select from the displayed image forming apparatus list, and the image forming request is transmitted to the image forming apparatus selected for processing.
FIG. 12 shows another embodiment of filtering step 1115. For example, a mobile device can be requested to send service performance from each discovered image forming device (block 1205). The service performance of the image forming apparatus is then compared to the desired one or more service performance of the image forming request (block 1210). Based on the comparison, validity is generated for each image forming apparatus (block 1215). Service performance that meets the desired service performance preferences and / or requirements to a large extent increases relevance. A list of image forming devices is then generated based on their respective validity, allowing the user to select the desired image forming device for processing the image forming request (block 1220).
This type of service attribute, which is based on filtering, allows the user to more easily select the discovered device by attempting to determine and display the most relevant device. By identifying a highly valid server device in advance, the user can send a job request to an inappropriate server device and process the request because the selected device does not have the appropriate functional performance. You can avoid the situation where you will find out later what you cannot do. In other cases, the job request can be processed, but the result not expected by the user is not obtained. In both situations, the user can waste time and / or cost and can be frustrated.
Thus, with reference to FIG. 13, another embodiment of search logic 1300 that may include filtering logic 1310, fast filtering logic 1315, sort logic 1320, fast sort logic 1325, and data storage units 1340, 1350 is shown. In the illustrated embodiment, while the search is in progress, search logic 1300 attempts to identify compatible wireless connectivity devices within communication range, also referred to as compatible components. In one form, the first data structure or storage device 1340 stores the data corresponding to the wireless connection device received from the compatible wireless connection device that responds to the search. As mentioned, such data can include device identification numbers, names, performance, distances, locations, states, and the like. The fast filtering logic 1315 will compare the currently found device attributes or features contained in data structure 1340 with the previously found device attributes or features stored in the second data structure 1350. It is composed of.
For example, suppose the first data item transferred from the server unit to the client contains a unique name or number. After receiving this first data, the fast filtering logic 1315 assigns this unique name or number to a similar field in the second or virtually complete attribute information list in the second or historical data structure 1350. Compare with. Depending on the match or likely match, the fast filtering logic 1315 will use individual icons, text lists, graphical tokens, etc. before the complete information about the responding device is sent over the wireless communication link. You can filter or influence the placement and display of device representations. Such filtering can include excluding entries from the display or making the selection of specific entries impossible or difficult. Such filtering may be appropriate when the print request requires rendering and printing, but the device responding to the search lacks these capabilities.
Also, in an alternative embodiment shown by reference to FIG. 13, the fast sort logic 1325 has previously found the attributes or characteristics of the device just found, stored in the second data structure 1350. It is configured to compare with the attributes or characteristics of the device. Again, assume that the first data item transferred from the server device to the client contains a unique name or number. After receiving this first data, the fast sort logic 1325 compares this unique name or number with a similar field in the attribute information in the historical data structure 1350. Depending on the match or likely match, the fast sort logic 1325 will use the individual device representations such as icons, text lists, graphical tokens, etc. before receiving the attribute features of the device responding over the wireless communication link. You can sort the placement and display, or influence them. Such sorting advances the more likely choices towards the top of the display list, highlights preferences or previously used devices, or colors or shades associated with a particular expression. It may include changes, etc.
If only a few entries are found in historical data structure 1350, or if no entries are found in historical data structure 1350, the previously discovered device is filtered by fast filtering logic 1315, if any, or fast sorted. Sorted by logic 1325, or both. When data arrives, the newly found device is processed by filtering logic 1310, sort logic 1320, or both. In this case, the display is controlled and the device attributes become available over the wireless network and are dynamically updated as they are stored in the first data structure 1340. Dynamic updates can be made at predetermined intervals or in combination of these when new data arrives. From the first data structure 1340, filtering logic 1310, sorting logic 1320, or both apply their respective algorithms and control the display accordingly.
Those skilled in the art can now appreciate that alternative embodiments can be easily achieved. For example, the first data structure 1340 and the second data structure 1350 are shown as separate but connected devices, but they are separated by address, partitioned, or have logic to access them. They may alternate on the same physical device that can be otherwise identified. The illustrated logic, represented as a separate component, can be configured together or separately without loss of functionality. Furthermore, although various logical distinctions are shown for clarity, it is not really necessary to make such distinctions.
With reference to FIG. 14, for example, display 1400 on a mobile phone includes choice icons 1415, 1420, 1425, 1430, selection icons 1440, and status section 1450. As illustrated, the icon 1415 is a graphical representation of the device as the most relevant, i.e. sorted to the top position of the display 1400. The second device 1420 was determined to be a promising choice for print requests, but was sorted to the second position. Sorting can be based on a variety of factors, including user selection, previously successful or selected devices, naming conventions, discovered device performance, filtering results, ability to accept new jobs, and so on.
In one aspect shown in FIG. 14, the icons 1415 and 1420 are previously discovered devices that have been reidentified as described above after the start of the search. Thus, the fast filtering logic 1315 and the fast sort logic 1325 (FIG. 13) can arrange to select or display these previously discovered devices currently available. Icon 1425 indicates the displayability of one of the responding devices, perhaps due to the first encounter with this particular device, before identification data is obtained. The filtering logic keeps the icon selectable until more information is available, while the sorting logic places the icon under the known good candidate device and above the invalid choices. Icon 1430 represents a remote device that is known not to have the performance suitable for this application. In the figure, the selection of icon 1430 is prohibited and is shown to the user by painting the icon in gray.
Once additional data is obtained through the search process, filtering logic, sorting logic, or both can continue to update the display as it receives the data. Another advantage of this embodiment is that by changing the display, the user is informed that the search and selection process is in progress or has not yet completed, prematurely selecting a device that is probably less than ideal. It is to be avoided. Another indication of ongoing updates, shown in Figure 14, includes the changing state area 1450. As shown, one of the set of lights selectively lights up at certain intervals while the data is still being received or the process continues to operate normally. Other examples of status indicators include bars, clocks, hourglasses and the like.
Then, with reference to FIG. 15, one embodiment of the method or algorithm is shown. After the selection process begins (block 1500), it begins receiving data from compatible components (block 1510). At this point, the status indicator can optionally be advanced or updated to reflect the receipt of data or at least ongoing search activity. The received data is compared with a previously stored list of device attributes or features found (block 1520). If the decision on the alignment of the previous data with the currently received data, shown in block 1530, fails, the method branches to receive more data (block 1540). From here, or if the decision in block 1530 is successful, the method applies filtering logic, sorting logic, or both to the received data (block 1550). The display is updated to reflect the current state of the known device, and the process loops back for more data until it completes (block 1570).
From this, with reference to FIG. 16, an embodiment of a mobile device configured to accept a user print job request and process a plurality of simultaneous print jobs is shown. In other words, the provided system can receive the user's print job request while other print jobs are being processed at the same time. The mobile device includes a processor 1610 that communicates with a storage device, memory, or other computer-readable medium 1620 via the data bus 1615. The job queue 1625 communicates data with the processor 1610 and is controlled by the image formation control logic 1630 to hold the print request 1640. Upon receiving a request from the user to print one or more image data, the image formation control logic 1630 puts the print request / job in the job queue 1625 and stores the reference data or information 1645 with the request. Reference data 1645 identifies the corresponding image data 1650 to be printed in the print request. Reference data 1645 can include one or more addresses, pointers, location lists, or other types of identification data. This identification data allows the corresponding image data to be found and retrieved from memory or storage device 1620 as the print request is processed. In addition, the processor 1610 communicates via the data bus 1615 with other components including, but not limited to, wireless transceiver logic 1655, display logic 1660, other applications 1665, and operating system 1670.
In one embodiment, application 1665 initiates a job request or provides a trigger event as described above. The processor 1610 generates the image formation control logic 1630 and allocates a part of the memory to function as the job queue 1625. It should be understood that other configurations such as dedicated control logic and / or job queues can be implemented without reducing functionality. The image formation control logic 1630 creates the first request 1640 and queues the first request data, such as the address location in memory, the job title, or other data available to find the image data in memory 1620. Put in. Using the information in queue 1625, processor 1610 uses wireless transmission logic 1655 to transmit image data to an image forming apparatus (not shown).
In one embodiment, the stored image data 1650A is formatted into a non-image formable format, also called a non-rendering format. Non-image-forming formats can be useful for compression, display, or both, but as used herein, before image formation, such as hard copy printing or transmission via facsimile. Defined as requiring further rendering or processing. Those skilled in the art will understand that suitable non-image-forming formats currently exist in JPEG family formats, XHTML, serial port protocols, etc. In this embodiment, the non-image formable format data can be displayed on the device and can be transmitted to an image forming device capable of performing the processing necessary to convert the data into a printable format.
In another embodiment, transmitting non-image-forming format data can save memory and processing by reducing the need to make a copy of the image-forming data for rendering or other operations on the device. it can. Further savings can be achieved by transmitting non-image formable format data directly from memory without copying the entire image or large image components to the queue. In addition, the size of the queue is minimized to include only a small amount of data indicating reference data such as addresses, memory locations, or other identifying information related to image data.
In another embodiment application 1665 initiates an image formation command for an image format, as shown in 1650B'. This image format is not compatible with printing using the desired or selected wireless server device. Here, processor 1610 executes an instruction to generate printable bits or, as an alternative, an instruction to format incompatible image data into an intermediate data format, as shown in 1650B. One of skill in the art can understand that a processor can be configured to transform and store large components or entire images, as shown in both 1650B and 1650B'storage devices. Alternatively, the processor can convert a section on the fly when it is being transmitted over a wireless network.
In another embodiment, the image formation control logic 1630 monitors the status of the image formation job. Surveillance includes both the wireless link status monitor 1670 and the stored image data status monitor 1675. At least one of the devices in a communication link may be mobile, and the communication link may be wireless, which can lead to deterioration or inoperability of the wireless link. The wireless link status monitor 1670 monitors the status of the link. For example, if an image forming operation, such as a photo print, is in progress or is queued and the mobile client moves out of range of the server or printer, the Link Status Monitor 1670 has no data connectivity. Indicates that and suspends further transfers. If connectivity is reestablished within the specified time period, Link Status Monitor 1670 resumes the print job from where it left off. The ability to resume partially completed jobs is, in one embodiment, provided by asynchronous transfer under the producer-consumer paradigm. Alternatively, if connectivity is not reestablished within a certain time period, Link Status Monitor 1670 performs task termination actions such as canceling jobs, clearing queues, and preparing to notify users of errors.
The image data status monitor 1675 monitors the status of image data. For example, if an image forming operation, such as a photo print, is in progress or is queued and the image data is corrupted or deleted before the operation is complete, the Image Data Status Monitor 1675 will fail. Show the situation and notify the user. Alternatively, the image data status monitor 1675 can be configured to prevent the print job from deleting pending image data. In one embodiment, this aspect is important because there is only one copy of the image data in the device. That is, if image data is deleted, any pending image application pointing to or using that data is likely to fail. The image data status monitor 1675 also performs task termination or maintenance operations such as canceling jobs, clearing queues, and preparing to notify users of errors.
Thus, with reference to FIG. 17, one embodiment of the method or algorithm is shown. After the print job or image formation request is started (block 1700), enough data to identify the stored memory location is queued (block 1710). In fact, after the start of a subsequent job, additional identification data is added to the queue to identify additional memory locations, which can be processed simultaneously or sequentially. As appropriate, the stored data is transmitted over a wireless link to a receiver, such as a printer (block 1715). The integrity of the link is checked (determination block 1725). If the link is degraded or otherwise suspicious, a timeout period begins, during which the link should be restored and data transmission resumes (block 1730). Data integrity is checked (block 1740). If the data has not been compromised, a completion check is performed (block 1745). If the timeout expires before the link is shown to be restored (block 1730), data is corrupted or missing (block 1740), or the job completes (block 1745), the print job ends and the queue is closed. Updated to remove or clear residual tracking or data monitoring (block 1750). Here, it is clear that neither the exact order of the methods nor the inclusion of all of the components mentioned above is required in any case. Instead, the description described above is of an exemplary nature and is intended to describe only one embodiment. Moreover, the functionality provided by the above block can be performed in a variety of different ways. For example, an embodiment as a processor executable instruction, software, logic, or a combination thereof is envisioned, which is within the scope of the present invention.
FIG. 18 shows another embodiment of mobile device 1800 configured to receive multiple print requests and process multiple simultaneous print jobs. The various components shown in the previous embodiments of the mobile device described herein can also be included, though not shown in FIG. The mobile device 1800 will be described with reference to a configuration in which the mobile device is wirelessly operable and transmits a print request to a server device which is a compatible wirelessly operable device. For this purpose, wireless transceiver logic 1805 is provided. The process of searching and finding the server device described above can also be performed here.
The user application 1810 can include any kind of user software capable of generating print requests. Through the user application 1810, a user can request that an object, such as a photo, document, or other data, be printed on a discovered wirelessly operable server device. First, to process print requests, print job producer 1815 is configured to receive one or more print requests. In one embodiment, producer 1815 can be configured as logic. Because the print request takes some time for the object to form an image on the server device, the print job producer 1815 is configured to accept the print request and return processing control to the user application 1810, so that the user , You can perform other tasks while processing the print request. In other words, the print request is accepted and processed as a background task by the operating system.
After the print job producer 1815 receives the print request, it can receive additional print requests before any one of the print requests is completed. In one embodiment, the print job queue 1820 is allocated to hold print jobs on any type of computer-readable medium. The print job producer 1815 generates a print job for each print request and puts the print job in the job queue 1820, for example, with a job ID that allows the user to track the requested job. To conserve the memory resources of the mobile device, the job producer 1815 configures a print job in the job queue 1820 without the actual data to be imaged, referred to herein as image data. Rather, the print job contains a reference 1825 to the image data that allows the image data to be found. A reference, also referred to as reference data, can be one or more pointers, links, addresses, or other desired types of references that allow the image data to be found. For example, in FIG. 18, job 1 refers to image data A from memory or storage device 1830, and job 2 refers to image data B. Of course, a single print job can point to multiple instances of image data to be printed. In one embodiment, the print job in the job queue 1820 can only contain a reference to its image data.
In response to the job queue 1820 containing the print job, the print job consumer 1835 is configured to process the print job. To process a print job, the print job consumer 1835 reads data, including reference data, from the print job and builds the print job using the associated image data. Using the reference data, the print job consumer 1835 retrieves the relevant image data and formats it in combination with other print job data (if any) to generate the complete print job 1840. The complete print job 1840 can then be sent by the wireless transceiver logic 1805 to a wirelessly operational server device, such as a Bluetooth capable printer, according to the desired communication protocol. The complete print job 1804 can also be regarded as a valid print job because the image forming apparatus that processes the job has an understandable form. The print job in the job queue 1820 is usually not processed by the image forming apparatus if the image forming apparatus cannot understand its form and retrieve the relevant image data using the reference data.
In one embodiment, the print job consumer 1835 is configured to retrieve image data for a print job from memory 1830 when the print job is currently being processed. Other pending print jobs do not contain image data associated with each. Searching for image data requires holding another copy of the data, which consumes resources. Therefore, reducing the amount of image data that is copied multiple times should reduce the number of resources consumed.
In another embodiment, the job producer 1815 and the job consumer 1835 can be configured as a common logic component or a plurality of components. The print job consumer 1835 can also be configured to function asynchronously with other processes on the mobile device 1800, allowing the user application 1810 or other application to be new while performing print request / job processing. Print requests can be submitted at the same time. It may be controlled by the operating system, or, as an alternative, the producer 1815 and / or the consumer 1835 may be part of the operating system, incorporated as a device driver, or in some other form. Good. In this way, from the user's point of view, the mobile device 1800 can receive and accept one or more print requests from the user, allowing the user to perform other tasks before the print request is completed. To do.
As described above in one embodiment, the image data related to the print job is a non-image formable format or a non-printable format such as a JEPG format. Since printable data tends to be substantially large, building a complete print job 1840 using this type of data format saves time and resources. Therefore, the transmission time can be saved by transmitting the non-printable data to the server device in the print job. In this case, the server device should have rendering capabilities to render the printable data from the non-printable print job.
FIG. 19 shows, for example, an embodiment of a method of processing a print request by the print job producer 1815 on a mobile device. The process starts when it receives a print request to print the selected image data (block 1900). The print job is generated by referring to the image data (block 1905), and the print job is stored in the queue (block 1910). Since the processing is returned to the requested application, other tasks can be executed at the same time.
FIG. 20 shows, for example, an embodiment of a method of processing a print job by the print job consumer 1835 on a mobile device. The process starts when a print job is queued for print (block 2000). A print job is searched for that contains reference data to one or more image data to be printed (block 2005). The image data is then retrieved and combined to form a complete print job (block 2010). In one embodiment, the print jobs that are not currently processed are not combined with the corresponding image data and are retained with the reference data. The next time the print job is processed, it will be combined with the image data to form a complete print job. The complete print job and data can then be sent to the wirelessly operable image forming apparatus, assuming that the communication link can be established according to the selected communication protocol. In one embodiment, the protocol is based on the Bluetooth specification.
Although the present invention has been exemplified and described in considerable detail by description of embodiments of the invention, there is no intention to limit or limit the scope of the claims attached to the applicants in such detail. .. Further benefits and changes will be readily apparent to those skilled in the art. Therefore, the invention is not limited to the particular details, representative devices, and examples illustrated and described in a broader aspect. Thus, it is possible to deviate from such details without departing from the spirit and scope of the applicant's general concept of the invention.
<figref num="1">The figure of one Embodiment of the mobile device which can operate wirelessly.</figref><figref num="2">FIG. 5 is a diagram of an embodiment of a search method for discovering another wirelessly operable device.</figref><figref num="3">The figure of one Embodiment of asynchronous search logic.</figref><figref num="4">Diagram of an embodiment of a decision tree that determines the type of device based on the Bluetooth protocol.</figref><figref num="5">Diagram of an embodiment of installation logic that installs a previously discovered device.</figref><figref num="6">The figure of one Embodiment of the installation method.</figref><figref num="7">The figure of one Embodiment of the user selection method.</figref><figref num="8">Diagram of an embodiment of a class of device data recording.</figref><figref num="9">The figure of another embodiment of the filtering system of a mobile device.</figref><figref num="10">FIG. 5 is a diagram of a wirelessly operable image forming apparatus having a service identification system.</figref><figref num="11">FIG. 5 is a diagram of an embodiment of a method of filtering discovered devices.</figref><figref num="12">Illustration of another embodiment of the method of filtering the discovered device.</figref><figref num="13">The figure of one Embodiment of search logic.</figref><figref num="14">The figure of one Embodiment of a display.</figref><figref num="15">The figure of one Embodiment of the display method.</figref><figref num="16">The figure of one Embodiment of a wireless mobile device.</figref><figref num="17">The figure of one Embodiment of the image formation job method.</figref><figref num="18">The figure of another embodiment of the wireless mobile device which has a print request processing system.</figref><figref num="19">The figure of one Embodiment of the method of processing a print request and putting it in a print queue.</figref><figref num="20">FIG. 5 is a diagram of an embodiment of a method of processing a print request outside the print queue.</figref>
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10129740B2 | Cited by | United States of America | Applicant |
| JP2015133729A | Cited by | Japan | Examiner |
| JP2010523023A | Cited by | Japan | Examiner |
| JP2013534775A | Cited by | Japan | Search report |
| JP2012199905A | Cited by | Japan | Search report |
| JP2009538048A | Cited by | Japan | Examiner |
| JP2016028323A | Cited by | Japan | Search report |
| JP2012191646A | Cited by | Japan | Examiner |
| US8676130B2 | Cited by | United States of America | Applicant |
| US10681151B2 | Cited by | United States of America | Applicant |
| US8364088B2 | Cited by | United States of America | Applicant |
| JP2015156666A | Cited by | Japan | Search report |
| US10129740B2 | Cited by | United States of America | Applicant |
5 priority claims, no other members on record
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 10369042 | United States of America | – | |
| 36904203 | United States of America | A | |
| 36904203 | United States of America | A | |
| 2003369042 | – | – | – |
| US20030369042 | – | – | – |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Decision of refusalA02 | A02 | |
| Notification of reasons for refusalA131 | A131 | |
| Report on retrievalA977 | A977 |
Numbers
- Publication
- 2004254311
- Publication, DOCDB
- 2004254311
- Publication, EPODOC
- JP2004254311
- Application
- 39670
- Application, DOCDB
- 2004039670
- Application, EPODOC
- JP20040039670
Titles2
- Japanese
- 無線モバイル装置
- English
- Wireless mobile device
Classification
- CPC, 8
- H04W88/02
- H04W8/22
- H04L12/2809
- H04L12/281
- H04M1/72412
- H04M1/72484
- H04W48/16
- H04W4/00
- IPC, 7
- H04L12 28
- H04B1 40
- H04B7 26
- H04M1 72412
- H04M1 72484
- H04W8 22
- H04W88 02