The present invention relates to an information processing apparatus and a program.
According to an aspect of the exemplary embodiments of the present invention, there is provided an information processing apparatus including: an information space storage section that stores information objects in connection with arrangement destination coordinates at which the information objects are to be positioned in an information space; an information space screen generation section that generates an information space screen which displays a state in which each information object stored in the information space storage section is positioned at corresponding arrangement destination coordinates; an update section that receives, on the information space screen being displayed, an instruction given by a user to change the arrangement destination coordinates of the information object displayed on the information space screen or an instruction given by the user to specify a new information object to be arranged in the information space and arrangement destination coordinates of the new information object, the update section being configured to update information stored in the information space storage section correspondingly to the received changing instruction or the received specifying instruction; a retrieval condition receiving section that receives an input of a retrieval condition; a retrieval section that performs a retrieval through the information space storage section to find an information object which satisfies the retrieval condition; and a control section that controls the information space screen generation section such that, when at least one information object that satisfies the retrieval condition is found as a result of the retrieval, the information space screen generation section generates the information space screen in which the information object found through the retrieval are displayed in a display form discriminable from objects that do not satisfy the retrieval condition, with the entire information space used as a display area.
Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein:
In cases where when something is studied in a group, for example, the issue is often discussed while lots of materials are affixed to a wall or a whiteboard. Presumably, in such cases, strongly correlated materials are often put affixed to each other.
A system which virtually implements on a computer such a way of real sharing of information has been proposed as well. In such a system, a plurality of users access a common information space, refer to a group of information objects (e.g., files of electronic documents, audio data, image data, multimedia data, etc.) arranged in the information space, additionally edit the information objects or arrange a new information object in the information space, so that collaborative work goes ahead among those plural users. The information space is a virtual space of a definite size having not less than one-dimensional coordinates (e.g., two-dimensional plane). An information object is arranged at a position of coordinates designated in the information space by the user. In general, correlative information objects are closely located in the information space.
Further, on a personal basis, there is a system which enables a user to put a file onto a favorite position on a desktop screen or on a folder displaying screen.
According to these systems, a position where an individual information object is arranged in the information space reflects an intention of the user who has arranged that object.
An ordinary retrieval for lots of information objects (simply referred to as “objects”, hereafter) arranged in such an information space generally produces a list of objects of retrieval results on display, similarly to a retrieval of usual file systems or of a database.
The embodiment, in contrast, provides a retrieval result in such a manner that the positions where objects of found as the retrieval result are arranged in the information space are recognizable.
The database 10 is a database that stores information on an information space in which a group of information objects is arranged.
Information on objects, the number of which is not less than zero, arranged on each of the canvases is registered in connection with the canvas ID of the relevant canvas. In the example shown in
The information on two information spaces is registered in the database 10 in
The controller 12 is a system which controls the entire information retrieval apparatus, and performs control of information exchange between the database 10 described above and the aforementioned components such as the input device 14, the retrieval unit 16 and the display processor 20 which are described below.
The input device 14 is a device which receives a user's input operation to the information retrieval apparatus. For instance, a keyboard, a mouse, a touch-panel or the like is an example of the input device.
The display processor 20 carries out a process to generate a display screen for UI (user interface) of the information retrieval apparatus. The display processor 20 has a viewport generator 22 and a retrieval dialog generator 24.
The viewport generator 22 generates a “viewport” screen and displays it on a display apparatus which is omitted from the drawings. The viewport is a screen which partially or entirely displays a canvas that a user has logged in. For instance, a viewport 40 exemplarily illustrated in
As shown in
If a user carries out an operation to choose one of the objects (icons 42) on the viewport 40 and open it by means of the input device 14 such as a mouse, an application connected with that object is started by the controller 12. The application opens an entity file of the object, and a window which indicates contents of the entity file is displayed on the screen of the display apparatus.
The user having logged in the canvas 30 can move the area displayed in the viewport 40 by a scrolling operation, or can expand or reduce the area displayed in the viewport 40 by changing the display magnification. Further, the user may move the icon 42 displayed in the viewport 40 by a drag-and-drop operation, etc., or relocate a file from the outside of the database 10 into the viewport 40, so that the object 32 of the file an be registered in the database 10. When the object 32 is moved, the controller 12 updates the coordinates of the object 32 in the database 10 to the coordinates of the destination. Further, if a new object 32 is arranged in the viewport 40, the controller 12 registers the object ID and the coordinates of the position of the object 32 in the database 10 in connection with the canvas ID of the relevant canvas 30. Further, if an object 32 that has already been registered in the database 10 is deleted, the relevant object is deleted from the viewport 40 and the database 10. Deletion instructions can be given by, for example, operations such as pressing the right button of a two-button mouse so as to display a pull-down menu and selecting deletion on the menu, or holding down the object itself on a touch-panel so as to display a pull-down menu and to select deletion on the menu, etc.
The system may be used in such a manner that more than one users log in one and the same canvas 30 to have a discussion on a specific object 32 on the canvas 30 by using a real-time communication system, or to move the position of the object 32 in accordance with the progress of the discussion.
Referring back to
Further, the retrieval dialog 50 of this example includes an input blank space 52 to be filled in with a retrieval query, and a command button 54 for instructions to carry out a retrieval process according to the inputted query. The retrieval query is information which represents conditions that the object 32 to be retrieved should satisfy. If a character string is inputted as a retrieval query and the command button 54 is pressed, an object 32 including the character string is searched for by the retrieval unit 16.
The retrieval unit 16 searches, from among the objects 32 included in the canvas 30 currently logged in by the user, an object 32 which satisfies the retrieval query inputted from the retrieval dialog. The retrieval may be carried out only for a content portion in the entity file of the object 32, only for attributes of the object (the creator, update date and time, file type, one or more keywords given by the user, etc.), or for both the content and the attributes. For instance, in a case where only a content portion is retrieved, an object 32 having a content portion (e.g., the text of an electronic document) containing the retrieval query (e.g., a character string) is searched out. The attributes of the object to be retrieved may be those included in the entity file of the object 32, or may be those managed in the database separately from the entity file of the object.
For instance, when objects 32 on the canvas 30 are electronic documents, the retrieval unit 16 may calculate a TF (Term Frequency) of each of the objects 32 based on the character string inputted as the retrieval query so as to form the retrieval result by extracting the objects 32 in order of higher TF. In such a case, TF can be calculated, for example, according to the following equation.
The term ni,j appearing here is the number of times of appearances of a character string i in a document j, and the term tfi,j is the TF of the document j for the character string i.
An object exhibiting a higher TF has a higher degree of matching with the retrieval query, and is positioned at an upper rank in the retrieval results. Incidentally, if there are plural objects of an equal TF, they may be ranked in higher order of the number of times of appearances of the retrieval query character string in the object (the number of hits).
The retrieval unit 16 delivers the retrieval results obtained in response to the given retrieval query back to the controller 12. The controller 12 displays the retrieval results on the display apparatus via the display processor 20.
In the described embodiment, the retrieval results are displayed in such a manner that the positions on the canvas 30 where the objects 32 searched out through the retrieval are positioned can easily be recognized. More specifically, the controller 12 controls the viewport generator 22 such that the entire area of the canvas 30 is displayed in the viewport 40, and such that the icons of the objects as the retrieval results are displayed in a form different from that for the icons of objects other than those of the retrieval results.
Further in the example shown in
According to the embodiment described above, if any object 32 as being hit, the entirety of the canvas 30 is displayed on the viewport 40, and the hit objects 32 are displayed on the entire area of the canvas 30 in a manner to be discriminable from other objects that are not hit. The positions where the objects are arranged are meaningful for the user. In other words, the user has an image about what types of object 32 are arranged at which part of the canvas 30. The user therefore can presume to a certain degree of credibility the natures of the hit objects based on the positions of these hit objects on the entire canvas 30 displayed in the viewport 40, without opening such hit objects, on the ground of the image of his or her own.
Further, when the retrieval query hits on plural objects 32, information on the positions of the respective retrieval result objects 32 on the viewport 40 helps the user in narrowing down candidate objects 32 which having higher probability of matching with the user's intention of the retrieval. Further, information on the rank in the degree of matching with the, retrieval query, when taken into consideration, facilitates an approach toward an object 32 which matches with the intention of the retrieval.
Although in the described embodiment the display of the retrieval results is performed such that entirety of the canvas 30 appears in the viewport 40, the arrangement may be such that the display in this manner is performed only in a limited case where there are plural retrieval result objects 32. When there is only one single retrieval result object 32, it is generally desirable that the access to this object be made without delay. The arrangement, therefore, may be such that, when there is only one retrieval result object 32, the viewport generator 22 moves the display area so that a region centered at the single retrieval result object 32 is displayed. Thus, the viewport generator 22 can move the display area of the viewport 40 so as to display an area centered on the retrieval result object 32. For example, as illustrated in
A description will now be given of a modification of the described embodiment having an additional function termed as “neighborhood retrieval”. The neighborhood retrieval is one form of data processing in which not only object that exhibits best match with the retrieval query but also other objects positioned in the vicinity of this object are determined as the retrieval result objects.
The retrieval dialog generator 24 of this modification generates, as exemplarily illustrated in
The user inputs a character string representing a retrieval query into the input space 52, presses one of the neighborhood range specifying buttons 56 which indicates a desired “neighborhood” level to put it into a selected state, and presses the command button 54 for giving instructions to execute a retrieving operation.
In accordance with the instructions, The retrieval unit 16 first performs the retrieval throughout the canvas 30 to retrieval out an object 32 which would satisfy the retrieval query. The object 32 which is found to satisfy the retrieval query through the retrieval is nominated as one of retrieval results and, at the same time, serves as a reference for the “neighborhood” in the neighborhood retrieval. Then, an object or objects 32, which are positioned within the distance (radius) selected by the neighborhood range specifying button 56, are obtained and determined as being the results of the neighborhood retrieval. The results thus determined are output together with the retrieval result which satisfies the retrieval query.
For instance, In
The controller 12 delivers to the display processor 20 the results of the retrieval performed by the retrieval unit 16, i.e., a list of objects which each satisfies the retrieval query, together with a list of objects positioned in the neighborhoods of each of the objects included in the former list (neighborhood retrieval results). Upon receipt of these lists, the display processor 20 causes the respective retrieval result icons to be displayed on the viewport 40 showing the entirety of the canvas 30, in a form which enables discrimination between the retrieval result icons and other icons. The display may be made such that icons which satisfy the retrieval query and icons as the results of the neighborhood retrieval are discriminable from each other. For instance, the icons corresponding to objects that satisfy the retrieval query are colored with a warm color (hues, brightness, etc., may be made peculiar according to the retrieval rank), while icons of neighborhood retrieval result objects bear a cold color.
Further, objects may be grouped such that, if one of the objects of the same group belongs to the “neighborhood range”, other objects of the same group not belonging to the neighborhood range are also included in the neighborhood retrieval results. More specifically, according to this example, information on groups each including plural objects is registered in the database 10. For instance, information indicating the group to which each object belongs is managed in the database 10. Obviously, such an object may exist that does not belong to any group. Then, if an object positioned in the neighborhood of an object which satisfies the retrieval query belongs to one of the groups, the retrieval unit 16 operates such that other objects which belong to the relevant group are included in the neighborhood retrieval results. In the example shown in
Further, an exemplary case where the database 10 has an object version management function will be explained as another modification. In this modification, when an object has a plurality of versions, the data of the respective versions is stored in the database 10. The viewport generator 22 displays the object having plural versions with an icon 42 in a display form indicating to what extent the version has reached.
For instance, use an icon which represents a state in which sheets as many as the number of the versions are put on top of one another.
Further, in an example shown in
Such icon indications reflecting the number of versions may be carried out on the viewport 40 which displays the retrieval results.
The more important a document is, the more times it is revised, tending to increase the number of versions. This modification reflects the number of versions in each of the icons on the viewport 40 so as to provide the user with material for enabling the user to evaluate the degree of importance of the object corresponding to each of the icons.
The information retrieval apparatus described in the foregoing may be implemented by means of making a general-purpose computer run programs which represent data processing of the respective functional modules described above. For instance, the computer mentioned here has a hardware circuit configuration in which components such as a microprocessor such as a CPU, a memory (primary storage) such as a random access memory (RAM) and a read only memory (ROM), an HDD controller which controls an HDD (hard disk drive), various kinds of I/O (input and output) interfaces, a network interface for connection with a local area network are connected, e.g., via a bus. For instance, a disk drive for reading from and/or writing into removable disk recording media such as CDs or DVDs, a memory reader writer for reading from and/or writing into removable non-volatile recording media of various standards, e.g., flash memories or the like, may be connected with the bus through, for example, via an I/O interface. Programs describing the contents of processing performed by the respective functional modules described above are stored in a fixed storage device such as a hard disk drive, via a recording media such as a CD or a DVD or via communication means such as networks, and are installed into the computer. The programs stored in the fixed storage device are read onto the RAM and run by the microprocessor such as the CPU, whereby the group of functional modules exemplarily described above are implemented. Further, one or more of functional modules which form a print server may be configured to be a hardware circuit.
The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2012-223667 | Oct 2012 | JP | national |
This is a continuation of International Application No. PCT/JP2013/063352 filed on May 14, 2013 and claims priority from Japanese Patent Application No. 2012-223667 filed on Oct. 5, 2012.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2013/063352 | May 2013 | US |
Child | 14656239 | US |