WO2009154045A1 - 情報処理方法および情報処理装置 - Google Patents

情報処理方法および情報処理装置 Download PDF

Info

Publication number
WO2009154045A1
WO2009154045A1 PCT/JP2009/058248 JP2009058248W WO2009154045A1 WO 2009154045 A1 WO2009154045 A1 WO 2009154045A1 JP 2009058248 W JP2009058248 W JP 2009058248W WO 2009154045 A1 WO2009154045 A1 WO 2009154045A1
Authority
WO
WIPO (PCT)
Prior art keywords
candidate
information processing
operation cancellation
user
information
Prior art date
Application number
PCT/JP2009/058248
Other languages
English (en)
French (fr)
Inventor
慎哉 里見
Original Assignee
コニカミノルタホールディングス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by コニカミノルタホールディングス株式会社 filed Critical コニカミノルタホールディングス株式会社
Priority to JP2009542278A priority Critical patent/JP4853573B2/ja
Publication of WO2009154045A1 publication Critical patent/WO2009154045A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • the present invention relates to an information processing method, an information processing apparatus, and a program therefor that provide a workspace in which a plurality of users can collaborate.
  • This workspace is a virtual space that can be accessed simultaneously by a plurality of users, and is realized by sharing data among a plurality of information processing apparatuses configured to be able to communicate with each other such as a network connection.
  • data is shared in units of objects such as text, lines, and images.
  • the Undo function is also implemented in the workspace as described above.
  • Patent Document 1 Japanese Patent Laid-Open No. 11-288428
  • the contents of each operation performed by each designer in a design work performed by a plurality of designers in a team format are sequentially stored as history information in a common history information storage means.
  • a CAD system that records and provides an undo function for canceling the immediately preceding operation based on the recording order of history information in the history information storage means is disclosed. In this CAD system, when the designer executes the undo function, the operation immediately before the designer has performed can be canceled.
  • Patent Document 1 merely provides a function capable of canceling an operation in units of designers. It was not a solution.
  • the present invention has been made to solve such a problem, and its purpose is to be canceled when any operation is canceled in a virtual space that can be accessed simultaneously by a plurality of users. It is to provide an information processing method and an information processing apparatus capable of efficient collaborative work by confirming that a user who has performed an operation recognizes.
  • An information processing method provides a virtual space that can be accessed simultaneously by a plurality of users using a storage unit and a plurality of information processing apparatuses each including an input unit and a display unit.
  • the information processing apparatus executes the following steps.
  • the history information includes information of a user who has performed an operation on the object.
  • the history information further includes object position information.
  • the drawing step includes a step of drawing an object in the first visual field range designated by the user in the virtual space, and the specifying step has the position as an object to be an operation cancellation candidate. A step of extracting an operation cancellation candidate included in the first visual field range.
  • the step of executing the operation cancellation includes the step of acquiring the second visual field range designated by the user who performed the operation cancellation candidate operation, and the position of the object that is the target of the operation cancellation candidate is the second visual field range. If the position of the object that is the candidate for the operation cancellation is within the second visual field range, the operation cancellation is executed, and the position of the object that is the target of the operation cancellation candidate Is not within the second visual field range, the step of not executing the operation cancellation is included.
  • the step of executing the operation cancellation includes obtaining a second visual field range designated by the user who performed the operation cancellation candidate operation, and determining the position of the object to be the operation cancellation candidate as the second visual field range.
  • a step of determining whether or not the range is within a range; a step of determining whether or not a display window for drawing the second visual field range is in a selected state;
  • the step of executing the operation cancellation includes the step of acquiring the second visual field range designated by the user who performed the operation cancellation candidate operation, and the position of the object as the operation cancellation candidate target. If it is determined whether or not the position of the object that is a candidate for the operation cancellation candidate is continuously within the second visual field range, the step of determining whether or not the candidate operation is continuously performed within the second visual field range. A step of executing the operation cancellation and not executing the operation cancellation when the position of the object to be an operation cancellation candidate is not continuously within the second visual field range.
  • the step of executing the operation cancellation includes obtaining a second visual field range designated by the user who performed the operation cancellation candidate operation, and determining the position of the object to be the operation cancellation candidate as the second visual field range.
  • a step of determining whether or not the object is included in the range a step of determining whether or not an operation cancellation candidate object is selected by a user who has performed the operation cancellation candidate operation, and an operation cancellation candidate object If the position is within the second visual field range and an operation cancellation candidate object has not been selected, the operation cancellation is executed. Otherwise, the operation cancellation is not executed.
  • the information processing method further includes a step in which the information processing apparatus receives a user instruction and sets a delegation state of execution of operation cancellation for the operation performed by the user.
  • the step of executing the operation cancellation includes the step of acquiring the second visual field range designated by the user who performed the operation cancellation candidate operation, and the position of the object to be the operation cancellation candidate is within the second visual field range. In the case where the position of the object that is the candidate for the operation cancellation candidate is within the second visual field range, and the operation cancellation candidate object is set to the delegated state.
  • the operation cancellation is executed, and in other cases, the operation cancellation is not executed.
  • the information processing method receives a re-instruction to cancel the operation by the user, and extracts the next new history information whose position information is included in the first visual field range from the storage unit as a next candidate for the operation cancellation; A step of performing an operation cancellation on the next candidate for canceling the operation when the object of the next candidate for canceling the operation is regarded as being visually recognized by the user who performed the operation of the next candidate for canceling the operation. .
  • An information processing apparatus is configured to be capable of data communication with other information processing apparatuses and a storage unit, and provides a virtual space that can be accessed simultaneously by a plurality of users.
  • the information processing apparatus stores an input unit, a display unit, a drawing unit for drawing an object in the virtual space on the display unit, and history information on an operation performed by the user in the virtual space by the input unit in the storage unit
  • an extraction unit for extracting an operation to be an operation cancellation candidate and an object to be the operation cancellation candidate based on the history information in the storage unit in response to an operation cancellation instruction from the user
  • an execution unit for executing an operation cancellation for the operation cancellation candidate when the operation cancellation candidate object is regarded as being visually recognized by the user who performed the operation cancellation candidate operation.
  • the history information includes information of a user who has performed an operation on the object.
  • FIG. 6 is a diagram illustrating a processing example in a case where execution of operation cancellation (Undo) is permitted in the use state illustrated in FIG. 5.
  • FIG. 5 is a diagram illustrating a processing example in a case where execution of operation cancellation (Undo) is permitted in the use state illustrated in FIG. 5.
  • FIG. 6 is a diagram illustrating a processing example in a case where execution of operation cancellation (Undo) is not permitted in the use state illustrated in FIG. 5. It is a block diagram which shows the control structure of each information processing apparatus according to Embodiment 1 of this invention. It is a block diagram which shows the control structure of the server apparatus according to Embodiment 1 of this invention. It is a figure which shows an example of the content of the work space data according to Embodiment 1 of this invention. It is a figure which shows an example of the content of the object data according to Embodiment 1 of this invention. It is a figure which shows an example of the content of the log
  • FIG. 1 is a schematic configuration diagram of a system for providing a work space according to the first embodiment of the present invention.
  • the system according to the present embodiment is generally referred to as a plurality of information processing apparatuses PC1 to PC3 (hereinafter referred to as “information processing apparatus PC”) which are devices connected to each other via a network NW so that data communication is possible. Included). Furthermore, in the system according to the present embodiment, server apparatus SRV, which is another form of information processing apparatus, can perform data communication with the same network NW in order to perform user authentication described later and management of View information of each information processing apparatus PC. It is connected to the. In addition, when these functions are provided by any one of the information processing apparatuses PC, the server apparatus SRV can be omitted.
  • These information processing apparatuses PC1 to PC3 share a work space data described later to provide a virtual space that can be accessed simultaneously by a plurality of users. That is, when the workspace data is updated by a user operation on any of the information processing apparatuses PC, the updated workspace data is also transmitted to other information processing apparatuses PC. By performing such synchronization processing as needed, substantially the same work space data is shared among all the information processing apparatuses PC. Instead of the configuration in which the plurality of information processing apparatuses PC individually hold the work space data, only one specific information processing apparatus PC (master) holds the work space data, and other information processing apparatuses PC ( A configuration in which the slave) performs data access to the master information processing apparatus PC may be employed.
  • the information processing apparatuses PC do not necessarily have to be connected to the same hierarchical network as long as they can logically communicate with each other.
  • FIG. 2 is a schematic diagram showing a schematic hardware configuration of a personal computer which is a representative example of information processing apparatus PC according to the first embodiment of the present invention.
  • information processing apparatus PC is a CPU 201 that executes various programs including an operating system, and a storage unit that temporarily stores data necessary for execution of programs by CPU 201.
  • a hard disk drive (HDD) 211 that stores a program executed by the CPU 201 in a nonvolatile manner.
  • Such a program is read from a CD-ROM 215a or a flexible disk 217a by a CD-ROM (Compact Disk-Read Only Memory) drive 215 or a flexible disk (FD: Flexible Disk) drive 217, respectively.
  • CD-ROM Compact Disk-Read Only Memory
  • FD Flexible Disk
  • the CPU 201 receives an operation request from the user via the input device 209 such as a keyboard and a mouse, and outputs a screen output generated by executing the program to the monitor 205 which is a display unit. Further, the CPU 201 performs data communication with another information processing apparatus PC or server apparatus SRV via a communication interface 207 formed of a LAN card or the like. These parts are connected to each other via the internal bus 203.
  • server SRV the hardware configuration of server SRV is the same as in FIG. 2, and therefore detailed description will not be repeated.
  • work space means a virtual space that can be accessed simultaneously by a plurality of users, and the work space is provided by work space data and an arbitrary number of object data included in the work space data.
  • a rendering (visualization) of workspace data, object data, and the like may be referred to as a “workspace”.
  • FIG. 3 schematically shows an example of a workspace according to the first embodiment of the present invention.
  • FIG. 3A shows an overall image of the visualized workspace WS.
  • the workspace WS includes three objects OBJ.
  • the object OBJ is a unit that is a target of each operation by the user, and specifically, any electronically handleable information such as a text object indicating a character, a line object indicating a drawing, and an image object indicating an image. Can be used.
  • the size of the work space WS can be freely set, and is generally set to be larger than the display size of the monitor 205 of each information processing apparatus PC. Therefore, only a partial area of the work space WS is rendered (visualized) on the monitor 205 of each information processing apparatus PC as shown in FIGS. 3 (A) and 3 (B).
  • an area displayed on the monitor 205 of each information processing apparatus PC is referred to as a view range (view range) VA.
  • a view display window 300 in which an object within the view range designated by the user is displayed in the work space WS is displayed.
  • a view position designation window 302 for designating which position in the work space WS the view range VA is arranged, and a tool box 304 for performing various operations in the work space WS. Is displayed.
  • the user appropriately designates the position of the view range VA by selecting and operating the view position designation window 302 using the input device 209 including a keyboard and a mouse.
  • the user selects various operation buttons included in the tool box 304 using the input device 209 including a keyboard and a mouse, and selects and drags objects to be displayed. Operations such as new creation, modification, and deletion are possible.
  • FIG. 4 is a schematic diagram showing a data structure for providing a work space according to the first embodiment of the present invention.
  • the data structure includes workspace data 262a describing the size of the workspace, the workspace name, the file name of the object data, and the like.
  • Object data 262b describing each object is provided in association with the work space data 262a. This object data 262b is newly created when the user adds a new object on the workspace. Further, history information is provided in association with each object data 262b. This history information sequentially stores the contents of operations performed on objects by the user. Therefore, the history information is newly created or its contents are updated if any operation is performed on the object.
  • FIG. 5 shows an example of the usage state of the workspace according to the first embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a processing example in a case where execution of operation cancellation (Undo) is permitted in the use state illustrated in FIG. 5.
  • FIG. 7 is a diagram illustrating a processing example when the execution of the operation cancellation (Undo) is not permitted in the use state illustrated in FIG. 5.
  • the information processing apparatus PC2 performs a moving operation on the object OBJ1.
  • history information corresponding to the object OBJ1 is newly created and stored.
  • the information processing apparatuses PC1 and PC2 display the object OBJ1 as if it moved.
  • the target object OBJ1 is included in the View range VA2 in the information processing apparatus PC2. This is the condition of Undo.
  • both the user who performed an operation on an object and the user who canceled the operation can recognize the execution of the operation cancellation.
  • efficient joint work can be promoted under the common recognition of both users.
  • FIG. 8 is a block diagram showing a control structure of each information processing device PC according to the first embodiment of the present invention.
  • each information processing apparatus PC has, as its control structure, a data operation unit 252, a view creation unit 254, a drawing unit 256, an undo processing interface 258, an object extraction unit 260, a data A storage unit 262, a synchronization processing unit 264, a transmission / reception unit 266, a view information management unit 268, and a user authentication unit 270 are included.
  • the data storage unit 262 is provided as an arbitrary area of the hard disk drive 211 (FIG. 2)
  • the transmission / reception unit 266 is provided by cooperation of the communication interface 207 (FIG. 2) and related driver software, and the other units are Typically, it is provided by the CPU 201 (FIG. 2) developing a program in the memory 213 (FIG. 2) and executing each command.
  • the data storage unit 262 includes work space data 262a, object data 262b, and history information 262c that are associated with each other.
  • the data operation unit 252 newly creates, changes, and deletes object data 262b and history information 262c for a target object in accordance with an operation on the input device 209 by the user. At this time, based on user information from a user authentication unit 270 described later, the data operation unit 252 describes in the history information 262c which operation is performed by each user for each operation. Further, the data operation unit 252 updates the contents of the target object data 262b in accordance with a command from an undo interface 258 described later. As a result, the operation on the target object is canceled.
  • the view creation unit 254 refers to the workspace data 262a, object data 262b, and history information 262c stored in the data storage unit 262, and draws information such as objects included in the view range designated by the user. Output to.
  • the drawing unit 256 performs drawing processing based on information such as objects included in the view range output from the view creation unit 254. That is, the drawing unit 256 generates a view display window 300 (see FIG. 3B) that visualizes objects in the view range of the workspace. In addition, the drawing unit 256 visualizes a process related to the operation cancellation on the View display window 300 based on information from an undo interface 258 described later. More specifically, the drawing unit 256 visualizes the state of the object that returns to the state before the operation by canceling the operation.
  • the undo interface 258 executes the main part of the undo process according to the present embodiment.
  • the undo processing interface 258 is a predetermined condition among operations that are candidates for operation cancellation extracted (recognized) by the object extraction unit 260 described below (hereinafter also referred to as “Undo candidate operations”). Identify what matches. Subsequently, the undo processing interface 258 gives a command for canceling the operation on the object that matches the condition to the data operation unit 252 in accordance with the user operation.
  • the predetermined condition is, as described above, to be regarded as being visually recognized by the user who performed the operation cancellation candidate operation. More specifically, there is an undo target object in the view range selected by the user who performed the operation cancellation candidate operation.
  • the undo processing interface 258 acquires the position information of the view range in the information processing apparatus PC used (logged in) by another user from the view information management unit 268 described later, and the undo candidate operation is performed under a predetermined condition. It is determined whether or not it matches.
  • the object extraction unit 260 acquires the position of the View range in the own device based on the information from the view creation unit 254, and the object data 262b in the data storage unit 262 and Undo candidate actions are extracted with reference to the history information 262c. At this time, the history information 262c of the object existing in or existing in the View range becomes the Undo candidate operation.
  • the synchronization processing unit 264 synchronizes the work space data 262a, the object data 262b, and the history information 262c that provide the work space with another information processing apparatus PC. That is, when any of the work space data 262a, the object data 262b, and the history information 262c is added or updated in the own device, the synchronization processing unit 264 converts all or the difference of the added or updated data into the work space data. Are transmitted to the other information processing apparatuses PC sharing the information. In addition, when the synchronization processing unit 264 receives all or the difference of the added or updated data from another information processing device PC, the synchronization processing unit 264 updates the data stored in the data storage unit 262 of the own device accordingly.
  • the view information management unit 268 transmits the view information in its own device to the server device SRV and acquires the view information in the other information processing device PC from the server device SRV as necessary.
  • the view information includes position information (such as coordinates) of the view range at each time point and a user name being used.
  • the transmission / reception unit 266 controls data communication between the other information processing apparatus PC and the server apparatus SRV. Specifically, the transmission / reception unit 266 transmits a necessary message in response to a request from the synchronization processing unit 264 or the view information management unit 268, or synchronizes data received from another information processing apparatus PC or server apparatus SRV. To the processing unit 264 or the view information management unit 268.
  • User authentication unit 270 performs user authentication using a workspace application according to the present embodiment. Specifically, when the application of the workspace is executed, the user authentication unit 270 prompts the user to input an ID and password. When the user inputs an ID and password, the server apparatus SRV (FIG. 1) is inquired to perform user authentication. If the user authentication is successful, the user is allowed to use the application in the workspace, and the user name currently being used (logged in) is retained.
  • the server apparatus SRV FIG. 1
  • FIG. 9 is a block diagram showing a control structure of server SRV according to the first embodiment of the present invention.
  • server SRV includes a user authentication unit 290, a data storage unit 292, a view information management unit 294, and a transmission / reception unit 296 as its control structure.
  • the data storage unit 292 is provided as an arbitrary area of the hard disk drive 211 (FIG. 2), the transmission / reception unit 296 is provided by cooperation of the communication interface 207 and related driver software, and the other units are typically
  • the program is provided by the CPU 201 (FIG. 2) developing the program in the memory 213 (FIG. 2) and executing each command.
  • the data storage unit 292 includes authentication data 292a, view information 292b, and a view information list 292c.
  • the user authentication unit 290 performs user authentication in response to a user authentication inquiry from the information processing apparatus PC. Specifically, when an inquiry including the user ID and password is received from the information processing apparatus PC, the password associated with the received ID is read with reference to the authentication data 292a in the data storage unit 292, and the read User authentication is performed based on whether the value matches the received password. Here, it is assumed that the user ID and the password are stored in advance in the authentication data 292a. Subsequently, the user authentication unit 290 returns an authentication result (authentication success or authentication failure) to the information processing apparatus as the transmission source.
  • an authentication result authentication success or authentication failure
  • the view information management unit 294 When the view information management unit 294 receives the view information from each information processing apparatus PC, the view information management unit 294 newly creates or updates the corresponding view information 292b stored in the data storage unit 292. Further, the view information management unit 294 also updates the view information list 292c obtained by listing these view information 292b. In addition, when the view information management unit 294 receives a request for view information from each information processing apparatus PC, the view information management unit 294 refers to the view information list 292c and the view information 292b and responds to the view information in the target information processing apparatus.
  • the transmission / reception unit 296 controls data communication with each information processing apparatus PC.
  • data structure The structure of each data stored in the data storage unit 262 of each information processing apparatus PC will be described with reference to FIGS. 10, 11, 12A, and 12B.
  • Each data is typically described in a markup language such as XML (Extensible Markup Language). This is to enhance the expandability of the system by freely setting tags (attributes given to characters surrounded by ⁇ > and ⁇ />).
  • FIG. 10 shows an example of the contents of workspace data 262a according to the first embodiment of the present invention.
  • workspace data 262a includes an identification number (ID) 401 for specifying the workspace, a workspace name 402 that is the name of the workspace, and objects included in the workspace.
  • Object data number 403 for specifying.
  • the object data number 403 is sequentially added according to the object added on the workspace by the user operation. Note that once an object is added to the workspace, even if the object is subsequently deleted, the description of the object data number 403 remains unless special processing is performed. This is because, as will be described later, in order to provide the Undo function, it is necessary to keep history information of each object.
  • FIG. 11 shows an example of the contents of object data 262b according to the first embodiment of the present invention.
  • object data 262b is generated in association with object data number 403 described in work space data 262a shown in FIG. That is, each object data 262b includes an identification number (ID) 405 associated with the object data number 403 (FIG. 10) of the work space data 262a.
  • each object data 262b includes an object name 406 that is the name of the object, and a history information number 407 for specifying history information about the object.
  • This history information number 407 is a number associated with an identification number of history information to be described later.
  • the identification number of the history information can be arbitrarily set, in this embodiment, it is assumed that the identification number is incremented in time series, that is, the newer one is a larger identification number.
  • FIGS. 12A and 12B are diagrams showing an example of the contents of history information 262c according to the first embodiment of the present invention.
  • history information 262c is generated in association with history information number 407 described in object data 262b shown in FIG. That is, each of the object data 262b includes an identification number (ID) 409 associated with the history information number 407 (FIG. 11) of the object data 262b.
  • each history information 262c includes a history name 410 that is the name of the history information, operation type information 411 that indicates the contents of the operation of the history, and operation time information 412 that indicates the time when the operation of the history is performed.
  • the operation place information 413 indicating the position information (each coordinate) where the operation of the history is performed, the operation operator information 414 indicating the user who performed the operation of the history, and the object indicating the detailed information of the corresponding object Detailed information 415.
  • the operation type information 411 describes the contents of the operation performed on the corresponding object, for example, values such as “(new) creation”, “move”, “size change”, “delete”.
  • the operation time information 412 describes the time when the user performed an operation on the corresponding object.
  • the history information 262c is newly created each time the user performs one operation (for example, one movement operation) on any object.
  • the motion place information 413 the value of the position information (start position or end position) at which the user performed an operation on the corresponding object is described.
  • the operation operator information 414 a value for specifying a user who has performed an operation on the corresponding object is described.
  • a user name that is authenticated by the user and held by the user authentication unit 270 is used.
  • object detailed information 415 information defining each object is described. For example, if the corresponding object is a line object (object type is “line”), vector data (start point, end point, anchor point, curvature) indicating the outline is described. If the corresponding object is an image object (object type is “... Jpg”), a file name for specifying the image data is described.
  • each data stored in the data storage unit 292 of the server SRV will be described with reference to FIG. 13 and FIG.
  • These data are also typically described in a markup language such as XML.
  • FIG. 13 shows an example of the contents of View information 292b according to the first embodiment of the present invention.
  • View information 292b includes an identification number (ID) 421 for specifying the View information, a user name 422 for specifying a user who uses each information processing apparatus PC, And View position information 423 indicating the coordinates of each vertex of the View range in the information processing apparatus PC. Note that there are at least as many pieces of the view information 292b as the number of information processing apparatuses PC participating in the same workspace.
  • FIG. 14 shows an example of the contents of view information list 292c according to the first embodiment of the present invention.
  • the view information list 292c includes a view information number 425 associated with the identification number (FIG. 13) 421 of the view information list shown in FIG. Note that the number of view information numbers 425 described in the view information list 292c may be increased or decreased according to the number of information processing apparatuses PC participating in the same workspace at each time point.
  • FIG. 15 is a flowchart showing a processing procedure of Undo processing according to the first embodiment of the present invention. As a premise that the processing procedure shown in FIG. 15 is executed, it is assumed that a plurality of users have logged in through a user authentication procedure and are each logged in properly. The processing procedure shown in FIG. 15 is typically provided by each of the CPUs 201 of the information processing apparatus PC executing a program.
  • each information processing apparatus PC objects within the view range designated by each user in the workspace are sequentially drawn on the monitor 205. Further, in each information processing apparatus PC, history information 262c regarding operations on objects performed by each user in the work space is sequentially stored.
  • step S100 CPU 201 of information processing apparatus PC determines whether or not the user has selected the Undo button in tool box 304 (see FIGS. 5 and 6) in its own apparatus (step S100). . If the Undo button is not selected (NO in step S100), the process of step S100 is repeated. On the other hand, when the Undo button is selected (YES in step S100), the process proceeds to step S102.
  • the Undo button is a button for giving an instruction to cancel the operation to the information processing apparatus PC.
  • step S102 the CPU 201 of the information processing apparatus PC obtains information on the view range in the own apparatus (the coordinates of each vertex). Subsequently, the CPU 201 of the information processing apparatus PC refers to all the history information 262c (FIG. 8) stored in the data storage unit 262, and operates location information 413 (FIGS. 12A and 12B) included in each history information 262c. ), The history information 262c included in the View range (first visual field range) of the own apparatus is extracted (step S104). That is, the CPU 201 of the information processing apparatus PC extracts history information 262c in which the value of the operation location information 413 as the position information is included in the view range of the own apparatus as a candidate for canceling the operation.
  • the CPU 201 of the information processing apparatus PC extracts history information 262c in which the value of the operation location information 413 as the position information is included in the view range of the own apparatus as a candidate for canceling the operation.
  • the CPU 201 of the information processing apparatus PC rearranges the extracted history information 262c in the order of newness based on the values of the respective operation time information 412 (FIGS. 12A and 12B) (step S106). That is, the CPU 201 of the information processing apparatus PC sorts the extracted history information 262c in descending order using the value of the operation time information 412 as a key.
  • steps S104 and S106 will be described with reference to FIG. 16 and FIG.
  • FIG. 16 is a diagram showing an example of history information according to the first embodiment of the present invention.
  • FIG. 17 is a diagram illustrating an example after the history information illustrated in FIG. 16 is extracted and rearranged.
  • FIG. 16 briefly shows the contents described in the history information 262c of these objects in a tabular form.
  • the values of “operation type information 411”, “operation time information 412”, and “operation operator information 414” are shown in order from the top in the left frame for each history information.
  • the “X coordinate value” and the “Y coordinate value” of the “motion location information 413” are shown in order from the top in the right frame for each history information.
  • the CPU 201 of the information processing apparatus PC extracts the information within the View range of the own apparatus. For example, when the coordinates of the vertices of the view position information in the own device are (421, 385), (610, 385), (421, 518), (610, 518), the X coordinate of the operation location information 413 A value having a value in the range of 421 to 610 and a Y coordinate value in the range of 385 to 518 is extracted.
  • FIG. 17 shows an example of history information after extraction and rearrangement as described above.
  • Each operation related to the history information is an Undo candidate operation. Thereafter, the processing proceeds to step S108 (FIG. 15).
  • step S108 CPU 201 of information processing apparatus PC sets the latest undo candidate operation rearranged in step S106 as the target undo candidate operation.
  • the CPU 201 of the information processing device PC acquires an operator (user) for the targeted Undo candidate operation.
  • the CPU 201 of the information processing device PC performs the undo candidate operation as a target. "User B” is acquired as the operator.
  • the process proceeds to step S112.
  • steps S112 and S114 it is determined whether or not the object of the target candidate candidate motion is regarded as being viewed by the user who has performed the operation of the candidate motion, and only when it is determined that it is regarded as such. Then, the operation cancellation (Undo) is executed.
  • step S112 the CPU 201 of the information processing apparatus PC acquires position information of the View range in the information processing apparatus PC used by the operator (user) for the targeted Undo candidate operation. Specifically, the CPU 201 of the information processing apparatus PC acquires the view information 292b and the view information list 292d (see FIG. 13) stored in the data storage unit 292 from the server apparatus SRV. Then, the CPU 201 of the information processing apparatus PC searches the acquired information for the one whose value of the user name 422 included therein matches the operator acquired in step S110. In the example shown in FIG. 13, the coordinates of the four vertices (100, 200), (900, 200), (100) are used as the position information of the View range (second visual field range) designated by “user B”. , 800), (900, 800). Then, the process proceeds to step S114.
  • step S114 the CPU 201 of the information processing apparatus PC determines whether or not the target Undo motion operation position (the position where the operation has been performed) is within the view range of the operator related to the target Undo candidate. To do.
  • Step S116 the CPU 201 of the information processing apparatus PC performs the target Undo motion.
  • the operation cancellation (Undo) is executed. More specifically, in step S116, the CPU 201 of the information processing device PC corresponds to the history information number 407 described in the object data 262b (FIG. 11) stored in the data storage unit 262 (history information). Delete the one with the largest number). As a result of this operation, history information having one less history information number is associated as an attribute with the target object, and the latest operation is canceled. Then, the process proceeds to step S118.
  • Step S114 the operation cancellation (Undo) of the target Undo motion is not executed. Then, the process proceeds to step S118.
  • step S118 the CPU 201 of the information processing apparatus PC determines whether or not there is a new next undo candidate operation rearranged in step S106. Next, when there is no new one (NO in step S118), the undo process ends.
  • step S118 the CPU 201 of the information processing apparatus PC sets the next new undo candidate operation as the target undo candidate operation (step S120). Further, the CPU 201 of the information processing apparatus PC determines whether or not the user has selected the Undo button of the tool box 304 again in its own apparatus (step S122). If the Undo button is selected again, the process proceeds to step S110.
  • step S122 the CPU 201 of the information processing apparatus PC determines whether or not the user has instructed an operation other than the Undo button in the own apparatus (step S122). S124). If the user has not performed any operation (NO in step S124), the process returns to step S122.
  • an operation cancellation (Undo) of an operation on an object is visually recognized by a user who has performed an operation on which the object is the cancellation target. It is executed only if it is considered to be. Therefore, efficient collaborative work can be performed among a plurality of users by confirming that the user who has performed such an operation cancellation (Undo) recognizes the operation.
  • a plurality of windows can be arranged on the same screen.
  • the View display window is active in order to more reliably determine that the object related to the undo candidate motion is visually recognized by the operator.
  • active means that a plurality of windows that can be displayed on the same screen are selected by operating an input device such as a keyboard or a mouse.
  • each information processing device PC is substantially the same as the control structure according to the first embodiment (FIG. 8), but the processing in the View information management unit 268 is different. That is, the View information management unit 268 according to the present embodiment obtains the selection state of the View display window in its own device from the OS, and transmits it as View information to the server SRV, so that the View information according to the first embodiment described above. Different from the management unit 268.
  • the data structure of the View information stored in data storage unit 292 is different from that of the first embodiment.
  • FIG. 18 shows an example of the contents of View information 292d according to the second embodiment of the present invention.
  • active information 427 indicating whether or not the View display window displayed by each user is active is added to View information 292 d as compared to View information 292 b shown in FIG. 13. ing. If the corresponding View display window is active, its value is “true”, and if it is not active, its value is “false”.
  • FIG. 19 is a flowchart showing a processing procedure of Undo processing according to the second embodiment of the present invention.
  • the processing procedure shown in FIG. 19 corresponds to the processing procedure of Step S115A added to the processing procedure of Undo processing according to the first embodiment shown in FIG. Note that among the steps shown in the flowchart of FIG. 19, the same step numbers are given to those performing the same processing as the steps shown in the flowchart of FIG. 15.
  • step S114 that is, if the operation position of the Undo candidate motion is within the View range acquired in step S112, the process proceeds to step S115A.
  • step S115A the CPU 201 of the information processing apparatus PC determines whether or not a view display window for drawing the view range of the operator related to the target undo candidate is active. This determination is made based on the value of the active information 427 of the View information 292d acquired from the server SRV in step S112.
  • step S115A If the View display window in which the view range of the operator related to the target Undo candidate is active (YES in step S115A), the process proceeds to step S116. On the other hand, if the View display window in which the view range of the operator related to the target Undo candidate is drawn is not active (NO in step S115A), the process proceeds to step S118.
  • the target object is considered to be visually recognized by the user who has performed the operation that is the cancellation target. Since the operation cancel (Undo) is executed as a condition, it can be confirmed that the user who performed the operation cancel operation recognizes.
  • Embodiment 3 In the first embodiment described above, the configuration in which the determination as to whether or not the target object exists within the View range of the operator of the undo candidate motion is performed only during the undo process. On the other hand, in Embodiment 3 described below, the condition is continuously satisfied in order to more reliably determine that the object related to the undo candidate motion is visually recognized by the operator.
  • An example of a configuration in which is used as a condition for canceling the operation (Undo).
  • control structure of each information processing apparatus PC according to the present embodiment is almost the same as the control structure according to the first embodiment (FIG. 8), except for the conditions related to undo execution.
  • the data structure of the View information list and the View information stored in data storage unit 292 is different from that of the first embodiment.
  • FIG. 20 shows an example of the contents of view information 292e according to the third embodiment of the present invention.
  • FIG. 21 shows an example of the contents of the view information list 292f according to the third embodiment of the present invention.
  • update time information 428 indicating the time when the view information is updated is added to view information 292b shown in FIG.
  • the update time information 428 is added by the view information management unit 268 (FIG. 8) of each information processing apparatus PC or the view information management unit 294 (FIG. 9) of the server apparatus SRV.
  • the view information list 292f includes a view information update history 431 for each user. Each time the view information 292e of each user is updated, a view information number that identifies the corresponding view information 292e is added to the update history 431. In this way, by storing the update history 431, it is possible to determine at which timing an object related to an Undo candidate action is present in the View range of the operator of the Undo candidate action. Furthermore, it is also possible to calculate a period during which an object related to an Undo candidate action was within the View range of the operator of the Undo candidate action.
  • FIG. 22 is a flowchart showing a processing procedure of Undo processing according to the third embodiment of the present invention.
  • the processing procedure shown in FIG. 22 is obtained by adding the processing of step S113 to the processing procedure of the undo processing according to the first embodiment shown in FIG. 15 and executing the processing of step S114A instead of the processing of step S114. It corresponds to. Note that among the steps shown in the flowchart of FIG. 22, the same step numbers are given to those performing the same processing as the steps shown in the flowchart of FIG. 15.
  • step S112 when the position information of the View range in the information processing apparatus PC used by the operator related to the target Undo candidate motion is acquired in step S112, the process proceeds to step S113.
  • step S113 the CPU 201 of the information processing apparatus PC performs the time (the operation time information 412 of the operation time information 412) of the undo candidate operation targeted by the value of the update time information 428 in the view information 292e of the operator of the undo candidate operation. Value) to the current time. Then, the process proceeds to step S114A.
  • step S114A the CPU 201 of the information processing apparatus PC performs an operation related to the target Undo candidate from the time when the target Undo candidate operation is performed until the current time. It is determined whether or not the user has continuously existed within the person's View range.
  • the CPU 201 of the information processing apparatus PC determines whether or not the motion position of the target undo candidate motion is within the view range for each of the undo candidate motion operator view information 292e extracted in step S113. Judge whether or not. Then, regarding all the view information 292e, when the motion position of the targeted undo candidate motion is within the view range, it is determined that the view is continuously present in the view range of the operator related to the targeted undo candidate. (YES in step S114A). Then, the process proceeds to step S116.
  • step S114A the process proceeds to step S118.
  • step S114A described above the motion position of the target Undo candidate motion is within the View range of the operator related to the Undo candidate for the entire period from the time when the Undo candidate motion is performed to the current time. If it is determined that the Undo condition has been satisfied, the undo condition exists within the view range of the operator related to the undo candidate during the predetermined proportion of the total period. It may be determined that the condition is satisfied. That is, the period during which the motion position of the target Undo candidate motion is within the view range of the operator related to the Undo candidate is accumulated, and the current time from the time when the Undo candidate motion targeted by the accumulated period is performed. If it is more than a predetermined ratio (for example, 80%) of all the periods until, Undo may be executed.
  • a predetermined ratio for example, 80%
  • the target object is considered to be visually recognized by the user who has performed the operation that is the cancellation target. Since the operation cancellation (Undo) is executed as a condition, it can be confirmed more reliably that the user who performed the operation cancellation operation recognizes.
  • the operation cancellation (Undo) when an operator of the target Undo candidate motion is about to perform some operation on the target object, the operation cancellation (Undo) is not executed.
  • the configuration will be exemplified. More specifically, when the operator of the target Undo candidate motion selects the target object, the operation cancellation (Undo) for the object is not executed.
  • each information processing device PC is substantially the same as the control structure according to the first embodiment (FIG. 8), but the processing in the View information management unit 268 is different. That is, the View information management unit 268 according to the present embodiment acquires the information of the object selected by the user on the work space in its own device from the data operation unit 252 or the like, and transmits it to the server device SRV as View information. Is different from the view information management unit 268 according to the first embodiment.
  • the data structure of the View information stored in data storage unit 292 is different from that of the first embodiment.
  • FIG. 23 is a diagram showing an example of the content of the View information 292g according to the fourth embodiment of the present invention.
  • view information 292g compared to view information 292b shown in FIG. 13, a selected object name 433 indicating an object selected by the corresponding user is added.
  • FIG. 23 illustrates a case where an object name and an object ID are used as the selected object name 433.
  • FIG. 24 is a flowchart showing a processing procedure of Undo processing according to the fourth embodiment of the present invention.
  • the processing procedure shown in FIG. 24 corresponds to the processing procedure of Step S115B added to the processing procedure of the Undo process according to the first embodiment shown in FIG. Note that among the steps shown in the flowchart of FIG. 24, the same step numbers are assigned to those performing the same processing as the steps shown in the flowchart of FIG. 15.
  • step S114 that is, if the operation position of the Undo candidate motion is within the View range acquired in step S112, the process proceeds to step S115B.
  • step S115B the CPU 201 of the information processing apparatus PC determines whether or not the operator related to the target undo candidate has selected the object of the undo candidate action. This determination is made based on the value of the selected object name 433 of the View information 292g acquired from the server SRV in step S112.
  • step S115B If the operator related to the target Undo candidate has selected the object of the Undo candidate action (YES in step S115B), the process proceeds to step S116. On the other hand, when the operator related to the target Undo candidate has not selected the object of the Undo candidate motion (NO in Step S115B), the process proceeds to Step S118.
  • Embodiment 5 In the first embodiment described above, the configuration for determining whether or not to execute the Undo candidate action based on the position of the operator's View range of the Undo candidate action has been exemplified.
  • the operator of the Undo candidate motion does not always operate the workspace. For example, it may be considered that some users leave the work among a plurality of users who perform the joint work. In such a case, if the execution of Undo can be delegated to the remaining users, business stagnation can be reduced. Therefore, Embodiment 5 described below exemplifies a configuration in which each user can delegate Undo for an operation performed by each user to another user.
  • each information processing device PC is almost the same as the control structure according to the first embodiment (FIG. 8), but the delegation information is transmitted to server SRV in response to an instruction from the user. It is different from the control structure according to the first embodiment described above in that it is configured to be possible.
  • control structure of server SRV according to the present embodiment is substantially the same as the control structure according to the first embodiment (FIG. 9), except that delegation list 292h is further stored in data storage unit 292. This is different from the control structure according to the first embodiment described above.
  • This delegation list 292h is newly created or updated in accordance with delegation information from each information processing apparatus PC.
  • FIG. 25 shows an example of the contents of delegation list 292h according to the fifth embodiment of the present invention.
  • the delegation list 292h describes the name of the user who performed the delegation.
  • a period for delegating the execution of Undo may be further determined. In this case, if the Undo candidate action is performed (the value of the action time information 412) is within the delegated period, Undo is executed unconditionally; otherwise, a normal condition determination is made.
  • FIG. 26 is a flowchart showing a processing procedure of Undo processing according to the fifth embodiment of the present invention.
  • the processing procedure shown in FIG. 26 corresponds to the processing procedure of Step S111A and A111B added to the processing procedure of Undo according to the first embodiment shown in FIG.
  • steps shown in the flowchart of FIG. 26 those that perform the same processing as the steps shown in the flowchart of FIG.
  • step S111A the CPU 201 of the information processing device PC acquires a delegation list from the server device SRV.
  • step S111B the CPU 201 of the information processing apparatus PC determines whether or not there is an operator entry related to the target Undo candidate action in the acquired delegation list.
  • step S111B If there is an operator entry related to the target Undo candidate action in the acquired delegation list (YES in step S111B), the process proceeds to step S116. On the other hand, if there is no operator entry related to the target Undo candidate action in the acquired delegation list (NO in step S111B), the process proceeds to step S112.
  • the delegation attribute may be added to the history information stored in the server SRV.
  • the presence or absence of delegation is determined at any time for each target Undo candidate operation.
  • FIG. 27 is a block diagram showing a control structure of information processing devices PC1 and PC2 for providing a work space according to the sixth embodiment of the present invention.
  • server apparatus SRV (FIG. 9) and the functions excluding the data storage unit 262 among the functions included in the control structure (FIG. 8) of the information processing apparatus PC according to the first embodiment are mounted on the information processing apparatus PC2.
  • server apparatus SRV (FIG. 9) and the functions excluding the data storage unit 262 among the functions included in the control structure (FIG. 8) of the information processing apparatus PC according to the first embodiment are mounted on the information processing apparatus PC2.
  • the server SRV may commonly provide a function corresponding to the data storage unit 262.
  • the program according to the present invention is a program module that executes a process by calling a required module at a predetermined timing in a predetermined arrangement among program modules provided as part of an operating system (OS) of a computer. Also good. In that case, the program itself does not include the module, and the process is executed in cooperation with the OS. A program that does not include such a module can also be included in the program according to the present invention.
  • OS operating system
  • the program according to the present invention may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program. Such a program incorporated in another program can also be included in the program according to the present invention.
  • the provided program product is installed in a program storage unit such as a hard disk and executed.
  • the program product includes the program itself and a storage medium in which the program is stored.
  • part or all of the functions realized by the program according to the present invention may be configured by dedicated hardware.

Abstract

 複数のユーザによる同時アクセス可能な仮想空間において、何らかの操作が取り消される場合には、当該取消対象となった操作を行ったユーザが認識していることを確認することで、効率的な共同作業が可能な情報処理方法および情報処理装置を提供する。対象のオブジェクト(OBJ1)が情報処理装置(PC2)のView範囲(VA2)に含まれている場合には、オブジェクト(OBJ1)についての操作に対する操作取消が実行される。対象のオブジェクト(OBJ1)が情報処理装置(PC2)のView範囲(VA2)に含まれていない場合には、オブジェクト(OBJ1)についての操作に対する操作取消は実行されない。

Description

情報処理方法および情報処理装置
 この発明は、複数のユーザが共同作業を行うことが可能なワークスペースを提供する情報処理方法、情報処理装置およびそのプログラムに関する。
 複数のユーザによる共同作業を効率化するためにワークスペースと呼ばれるアプリケーションが提供されている。このワークスペースは、複数のユーザが同時にアクセス可能な仮想空間であり、ネットワーク接続などの互いにデータ通信可能に構成された複数の情報処理装置の間でデータが共有されることで実現される。一般的に、このようなワークスペースでは、テキスト、線、画像といったオブジェクトの単位でデータが共有される。
 ところで、情報処理装置で実行される多くのアプリケーションでは、一旦行った操作を元の状態に戻す(取り消す)機能、いわゆる「Undo機能」が実装されている。この機能によれば、試行錯誤しながら作業を進めていく上で、作業をより効率化できる。
 上述のようなワークスペースにおいてもUndo機能が実装される。たとえば、特開平11-288428号公報(特許文献1)には、複数の設計者がチーム形式で行う設計作業において各設計者が行う各操作の内容を履歴情報として共通の履歴情報記憶手段に順次記録するとともに、履歴情報の履歴情報記憶手段への記録順に基づいて直前の操作を取り消すためのアンドゥ機能を提供するCADシステムが開示されている。このCADシステムでは、設計者がアンドゥ機能を実行したときに当該設計者が行った直前の操作を取り消すことができる。
特開平11-288428号公報
 しかしながら、ワークスペースでは、複数のユーザがリアルタイムに共同作業を行っているので、あるユーザが何らかのオブジェクトに対して行った変更などの操作を別のユーザが取り消したい場合も存在する。そのため、各操作を行ったユーザのみが、当該操作を取り消すことができるような構成では、効率的な作業を実現できない。
 一方で、当該オブジェクトの操作を行ったユーザのあずかり知らないところで、別のユーザによって操作が取り消されると、当該操作を行ったユーザおよび取り消し操作を行ったユーザの間で意思疎通ができず、結果としてスムーズな共同作業を妨げるおそれもある。
 また、上述の特開平11-288428号公報(特許文献1)に開示されたCADシステムでは、単に設計者単位で操作の取り消しができる機能を提供するのみであり、上述のような相反する両課題を解決するものではなかった。
 そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、複数のユーザによる同時アクセス可能な仮想空間において、何らかの操作が取り消される場合には、当該取消対象となった操作を行ったユーザが認識していることを確認することで、効率的な共同作業が可能な情報処理方法および情報処理装置を提供することである。
 この発明のある局面に従う情報処理方法は、記憶部と、各々が入力部および表示部を含む複数の情報処理装置とを用いて、複数のユーザによる同時アクセス可能な仮想空間を提供する。情報処理方法は、情報処理装置が以下のステップを実行する。仮想空間のオブジェクトを表示部に描画するステップと、入力部によって仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を記憶部に格納するステップと、ユーザによる操作取消の指示を受けて、記憶部の履歴情報に基づいて、操作取消候補となる操作および当該操作取消候補の対象となるオブジェクトを特定するステップと、操作取消候補のオブジェクトが当該操作取消候補の操作を行ったユーザによって視認されているとみなされる場合に、当該操作取消候補についての操作取消を実行するステップとを含む。ここで、履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含む。
 好ましくは、履歴情報は、オブジェクトの位置情報をさらに含む。
 さらに好ましくは、描画するステップは、仮想空間のうちユーザにより指定された第1視野範囲内にあるオブジェクトを描画するステップを含み、特定するステップは、操作取消候補の対象となるオブジェクトとしてその位置が第1視野範囲に含まれるものを操作取消候補として抽出するステップを含む。
 好ましくは、操作取消を実行するステップは、操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内であるか否かを判断するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内である場合には、操作取消を実行し、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内ではない場合には、操作取消を実行しないステップとを含む。
 また好ましくは、操作取消を実行するステップは、操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内であるか否かを判断するステップと、第2視野範囲を描画する表示窓が選択状態であるか否かを判断するステップと、操作取消候補の対象となるオブジェクトのがなされた位置が第2視野範囲内であり、かつ第2視野範囲を描画する表示窓が選択状態である場合には、操作取消を実行し、それ以外の場合には、操作取消を実行しないステップとを含む。
 また好ましくは、操作取消を実行するステップは、操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップと、操作取消候補の対象となるオブジェクトの位置が当該操作取消候補の操作の実行から継続して第2視野範囲内であったか否かを判断するステップと、操作取消候補の対象となるオブジェクトの位置が継続して第2視野範囲内であった場合には、操作取消を実行し、操作取消候補の対象となるオブジェクトの位置が継続しては第2視野範囲内になかった場合には、操作取消を実行しないステップとを含む。
 また好ましくは、操作取消を実行するステップは、操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内に含まれるか否かを判断するステップと、操作取消候補の操作を行ったユーザによって操作取消候補のオブジェクトが選択されているか否かを判断するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内であり、かつ操作取消候補のオブジェクトが選択されていない場合には、操作取消を実行し、それ以外の場合には、操作取消を実行しないステップとを含む。
 また好ましくは、情報処理方法は、情報処理装置が、ユーザによる指示を受けて、当該ユーザによってなされた操作についての操作取消の実行の委任状態を設定するステップをさらに含み。操作取消を実行するステップは、操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内であるか否かを判断するステップと、操作取消候補の対象となるオブジェクトの位置が第2視野範囲内である、および操作取消候補のオブジェクトについて委任状態に設定されている、のいずれかの場合には、操作取消を実行し、それ以外の場合には、操作取消を実行しないステップとを含む。
 好ましくは、情報処理方法は、ユーザによる操作取消の再指示を受けて、記憶部からその位置情報が第1視野範囲内に含まれる次に新しい履歴情報を操作取消の次候補として抽出するステップと、操作取消の次候補のオブジェクトが当該操作取消の次候補の操作を行ったユーザによって視認されているとみなされる場合に、当該操作取消の次候補についての操作取消を実行するステップとをさらに含む。
 この発明の別の局面に従う情報処理装置は、他の情報処理装置および記憶部とデータ通信可能に構成され、複数のユーザによる同時アクセス可能な仮想空間を提供する。情報処理装置は、入力部と、表示部と、仮想空間のオブジェクトを表示部に描画するための描画部と、入力部によって仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報を記憶部に格納するための管理部と、ユーザによる操作取消の指示を受けて、記憶部の履歴情報に基づいて、操作取消候補となる操作および当該操作取消候補の対象となるオブジェクトを抽出するための抽出部と、操作取消候補のオブジェクトが当該操作取消候補の操作を行ったユーザによって視認されているとみなされる場合に、当該操作取消候補についての操作取消を実行するための実行部とを含む。ここで、履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含む。
 この発明によれば、複数のユーザによる同時アクセス可能な仮想空間において、何らかの操作が取り消される場合には、当該取消対象となった操作を行ったユーザが認識していることを確認することで、効率的な共同作業を実現する。
この発明の実施の形態1に従うワークスペースを提供するためのシステムの概略構成図である。 この発明の実施の形態1に従う情報処理装置の代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。 この発明の実施の形態1に従うワークスペースの一例を模式的に示した図である。 この発明の実施の形態1に従うワークスペースを提供するためのデータ構造を示す模式図である。 この発明の実施の形態1に従うワークスペースの使用状態の一例を示す図である。 図5に示す使用状態において操作取消(Undo)の実行が許可される場合の処理例を示す図である。 図5に示す使用状態において操作取消(Undo)の実行が許可されない場合の処理例を示す図である。 この発明の実施の形態1に従う各情報処理装置の制御構造を示すブロック図である。 この発明の実施の形態1に従うサーバ装置の制御構造を示すブロック図である。 この発明の実施の形態1に従うワークスペースデータの内容の一例を示す図である。 この発明の実施の形態1に従うオブジェクトデータの内容の一例を示す図である。 この発明の実施の形態1に従う履歴情報の内容の一例を示す図である。 この発明の実施の形態1に従う履歴情報の内容の一例を示す図である。 この発明の実施の形態1に従うView情報の内容の一例を示す図である。 この発明の実施の形態1に従うView情報リストの内容の一例を示す図である。 この発明の実施の形態1に従うUndo処理の処理手順を示すフローチャートである。 この発明の実施の形態1に従う履歴情報の一例を示す図である。 図16に示す履歴情報を抽出および並び替え後の一例を示す図である。 この発明の実施の形態2に従うView情報の内容の一例を示す図である。 この発明の実施の形態2に従うUndo処理の処理手順を示すフローチャートである。 この発明の実施の形態3に従うView情報の内容の一例を示す図である。 この発明の実施の形態3に従うView情報リストの内容の一例を示す図である。 この発明の実施の形態3に従うUndo処理の処理手順を示すフローチャートである。 この発明の実施の形態4に従うView情報の内容の一例を示す図である。 この発明の実施の形態4に従うUndo処理の処理手順を示すフローチャートである。 この発明の実施の形態5に従う委任リストの内容の一例を示す図である。 この発明の実施の形態5に従うUndo処理の処理手順を示すフローチャートである。 この発明の実施の形態6に従うワークスペースを提供するための情報処理装置の制御構造を示すブロック図である。
 この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 [実施の形態1]
 (ワークスペースの全体構成)
 図1は、この発明の実施の形態1に従うワークスペースを提供するためのシステムの概略構成図である。
 図1を参照して、本実施の形態に従うシステムは、ネットワークNWを介して互いにデータ通信可能に接続されたデバイスである複数の情報処理装置PC1~PC3(以下、「情報処理装置PC」とも総称する。)を含む。さらに、本実施の形態に従うシステムでは、後述するユーザ認証および各情報処理装置PCのView情報の管理を行うために、情報処理装置の別形態であるサーバ装置SRVが同一のネットワークNWにデータ通信可能に接続されている。なお、これらの機能がいずれかの情報処理装置PCで提供される場合には、このサーバ装置SRVを省略することができる。
 これらの情報処理装置PC1~PC3は、後述するワークスペースデータを共有することで、複数のユーザによる同時アクセス可能な仮想空間を提供する。すなわち、いずれかの情報処理装置PC上でユーザ操作によってワークスペースデータが更新されると、当該更新後のワークスペースデータが他の情報処理装置PCにも送信される。このような同期処理が随時行われることで、すべての情報処理装置PC間で実質的に同一のワークスペースデータが共有されることになる。なお、複数の情報処理装置PCがワークスペースデータを個々に保持する構成に代えて、特定の1台の情報処理装置PC(マスター)のみがワークスペースデータを保持し、他の情報処理装置PC(スレーブ)が当該マスターの情報処理装置PCに対してデータアクセスをするような構成を採用することもできる。
 なお、それぞれの情報処理装置PCは、論理的に相互にデータ通信可能であれば、必ずしも同一階層のネットワークに接続されている必要はない。
 (ハードウェア構成)
 図2は、この発明の実施の形態1に従う情報処理装置PCの代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
 図2を参照して、本実施の形態1に従う情報処理装置PCは、オペレーティングシステムを含む各種プログラムを実行するCPU201と、CPU201でのプログラムの実行に必要なデータを一時的に記憶する記憶部としてのメモリ213と、CPU201で実行されるプログラムを不揮発的に記憶するハードディスクドライブ(HDD)211とを含む。このようなプログラムは、CD-ROM(Compact Disk-Read Only Memory)ドライブ215またはフレキシブルディスク(FD:Flexible Disk)ドライブ217によって、それぞれCD-ROM215aまたはフレキシブルディスク217aなどから読取られる。
 CPU201は、キーボードやマウスなどからなる入力装置209を介してユーザによる操作要求を受取るとともに、プログラムの実行によって生成される画面出力を表示部であるモニター205へ出力する。また、CPU201は、LANカードなどからなる通信インターフェイス207を介して、他の情報処理装置PCやサーバ装置SRVとの間でデータ通信を行う。なお、これらの部位は、内部バス203を介して互いに接続される。
 また、サーバ装置SRVのハードウェア構成についても、図2と同様であるので、詳細な説明は繰返さない。
 (ワークスペース)
 本明細書において「ワークスペース」とは、複数のユーザによる同時アクセス可能な仮想空間を意味し、ワークスペースは、ワークスペースデータおよび当該ワークスペースデータに含まれる任意数のオブジェクトデータなどによって提供される。なお、本明細書中では、ワークスペースデータおよびオブジェクトデータなどをレンダリング(可視化)したものを「ワークスペース」という場合もある。
 図3は、この発明の実施の形態1に従うワークスペースの一例を模式的に示した図である。
 図3(A)には、可視化されたワークスペースWSの全体像を示す。このワークスペースWSには、一例として、3つのオブジェクトOBJが含まれているとする。なお、オブジェクトOBJは、ユーザによる各操作の対象となる単位であり、具体的には、文字を示すテキストオブジェクト、描画を示す線オブジェクト、イメージを示す画像オブジェクトといった任意の電子的に取扱可能な情報を用いることができる。
 ワークスペースWSのサイズは自在に設定することができ、一般的に、各情報処理装置PCのモニター205の表示サイズに比較して大きくなるように設定される。そのため、各情報処理装置PCのモニター205には、図3(A)および図3(B)に示すようにワークスペースWSの一部の領域だけがレンダリング(可視化)される。以下では、各情報処理装置PCのモニター205に表示される領域をView範囲(視野範囲)VAと称する。
 図3(B)を参照して、各情報処理装置PCのモニター205には、ワークスペースWSのうち、ユーザにより指定されたView範囲内のオブジェクトを描画したView表示ウィンドウ300が表示される。このView表示ウィンドウ300上には、View範囲VAをワークスペースWSのいずれの位置に配置するかを指定するためのView位置指定ウィンドウ302、およびワークスペースWSにおける各種操作を行うためのツールボックス304が表示される。
 すなわち、ユーザは、キーボードやマウスなどからなる入力装置209を用いて、View位置指定ウィンドウ302を選択および操作することで、View範囲VAの位置を適宜指定する。また、ユーザは、キーボードやマウスなどからなる入力装置209を用いて、ツールボックス304に含まれる各種操作ボタンを選択したり、表示されるオブジェクトを選択してドラッグしたりすることで、各オブジェクトの新規作成、変更、削除といった動作が可能である。
 図4は、この発明の実施の形態1に従うワークスペースを提供するためのデータ構造を示す模式図である。
 図4を参照して、データ構造には、ワークスペースのサイズ、ワークスペース名、オブジェクトデータのファイル名などを記述したワークスペースデータ262aが含まれる。このワークスペースデータ262aに対応付けて、各オブジェクトを記述するオブジェクトデータ262bが設けられる。このオブジェクトデータ262bは、ユーザがワークスペース上で新たなオブジェクトを追加した場合に新規作成される。さらに、各オブジェクトデータ262bに対応付けて、履歴情報が設けられる。この履歴情報は、ユーザによってなされたオブジェクトに対する操作の内容を順次格納したものである。そのため、履歴情報は、オブジェクトに対して何らかの操作がなされれば、新規作成もしくはその内容が更新される。
 これらの各データの詳細な内容については、後述する。
 (Undo機能の概要)
 次に、図5~図7を参照して、本実施の形態に従うワークスペースで提供されるUndo機能について説明する。
 図5は、この発明の実施の形態1に従うワークスペースの使用状態の一例を示す図である。図6は、図5に示す使用状態において操作取消(Undo)の実行が許可される場合の処理例を示す図である。図7は、図5に示す使用状態において操作取消(Undo)の実行が許可されない場合の処理例を示す図である。
 図5を参照して、2人のユーザがそれぞれ情報処理装置PC1およびPC2を操作して、ワークスペースWSで共同作業を行っている場合を考える。情報処理装置PC1およびPC2のそれぞれのView範囲VA1およびVA2には、いずれもオブジェクトOBJ1が含まれているとする。
 ここで、情報処理装置PC2のユーザが、オブジェクトOBJ1に対して移動操作を行ったとする。この操作によって、オブジェクトOBJ1に対応する履歴情報が新規作成され格納される。この新たな履歴情報の内容に基づいて、情報処理装置PC1およびPC2では、オブジェクトOBJ1があたかも移動したように表示される。
 次に、情報処理装置PC1のユーザが上述のような情報処理装置PC1のユーザによる操作に対して操作取消(Undo)を指示した場合の処理を説明する。
 図6に示すように、情報処理装置PC1のユーザが入力装置209を操作して、ツールボックス304のUndo処理の実行を指示するボタン(以下、「Undoボタン」とも称す。)を選択すると、オブジェクトOBJ1に対してUndo処理が実行される。本実施の形態に従うUndo処理においては、操作取消候補の操作(図6の例では、オブジェクトOBJ1の移動)を行ったユーザによって視認されているとみなされる場合に限って、当該操作取消候補の操作についての操作取消を実行する。
 より具体的には、情報処理装置PC2のユーザによるオブジェクトOBJ1についての操作を、情報処理装置PC1のユーザが取り消すためには、情報処理装置PC2におけるView範囲VA2に対象のオブジェクトOBJ1が含まれていることがUndoの条件とされる。
 従って、図6に示すように、対象のオブジェクトOBJ1が情報処理装置PC2のView範囲VA2に含まれている場合には、オブジェクトOBJ1についての操作に対する操作取消が実行される。
 一方、図7に示すように、対象のオブジェクトOBJ1が情報処理装置PC2のView範囲VA2に含まれていない場合には、オブジェクトOBJ1についての操作に対する操作取消は実行されない。
 上述のように、何らかのオブジェクトに対する操作を行ったユーザ、および当該操作を取り消したユーザの両者が、当該操作取消の実行を認識することができる。それにより、作業途中でやり直しなどがあっても、両ユーザの共通認識の下、効率的な共同作業を進めることができる。
 (情報処理装置の制御構造)
 図8は、この発明の実施の形態1に従う各情報処理装置PCの制御構造を示すブロック図である。
 図8を参照して、各情報処理装置PCは、その制御構造として、データ操作部252と、View作成部254と、描画部256と、Undo処理用インターフェイス258と、オブジェクト抽出部260と、データ格納部262と、同期処理部264と、送受信部266と、View情報管理部268と、ユーザ認証部270とを含む。データ格納部262は、ハードディスクドライブ211(図2)の任意の領域として提供され、送受信部266は、通信インターフェイス207(図2)および関連するドライバソフトの協働によって提供され、その他の各部は、代表的に、CPU201(図2)がプログラムをメモリ213(図2)に展開し、各コマンドを実行することで提供される。
 また、データ格納部262は、互いに関連付けられた、ワークスペースデータ262aと、オブジェクトデータ262bと、履歴情報262cとを含む。
 データ操作部252は、ユーザによる入力装置209に対する操作に従って、対象のオブジェクトについてのオブジェクトデータ262bおよび履歴情報262cの新規作成、変更、削除を行う。このとき、データ操作部252は、後述するユーザ認証部270からのユーザ情報に基づいて、各操作について、いずれのユーザによってなされた操作であるかを履歴情報262cに記述する。また、データ操作部252は、後述するUndo処理用インターフェイス258からの指令に従って、対象のオブジェクトデータ262bの内容を更新する。これにより、対象のオブジェクトに対する操作が取り消される。
 View作成部254は、データ格納部262に格納されているワークスペースデータ262a、オブジェクトデータ262b、履歴情報262cを参照して、ユーザにより指定されたView範囲に含まれるオブジェクトなどの情報を描画部256へ出力する。
 描画部256は、View作成部254から出力されるView範囲に含まれるオブジェクトなどの情報に基づいて、描画処理を行う。すなわち、描画部256は、ワークスペースのうちView範囲内のオブジェクトを可視化したView表示ウィンドウ300(図3(b)参照)を生成する。また、描画部256は、後述するUndo処理用インターフェイス258からの情報に基づいて、View表示ウィンドウ300上で、操作取消に係る処理を可視化する。より具体的には、描画部256は、操作取消によって操作前の状態に戻っていくオブジェクトの様子を可視化する。
 Undo処理用インターフェイス258は、本実施の形態に従うUndo処理の主たる部分を実行する。具体的には、Undo処理用インターフェイス258は、後述するオブジェクト抽出部260により抽出(認識)された操作取消の候補となる動作(以下、「Undo候補動作」とも称す。)のうち、所定の条件に合致するものを特定する。続いて、Undo処理用インターフェイス258は、ユーザ操作に従って、条件に合致したオブジェクトに対する操作を取り消すための指令をデータ操作部252へ与える。所定の条件とは、上述したように、操作取消候補の操作を行ったユーザによって視認されているものとみなされることである。より具体的には、操作取消候補の操作を行ったユーザが選択中のView範囲にUndo対象のオブジェクトが存在することである。そのため、Undo処理用インターフェイス258は、後述するView情報管理部268から他のユーザが使用する(ログインしている)情報処理装置PCにおけるView範囲の位置情報を取得し、Undo候補動作が所定の条件に合致しているか否かを判断する。
 オブジェクト抽出部260は、ユーザ操作によってUndo処理が指示されると、View作成部254からの情報に基づいて、自装置におけるView範囲の位置を取得するとともに、データ格納部262内のオブジェクトデータ262bおよび履歴情報262cを参照してUndo候補動作を抽出する。このとき、当該View範囲に存在するまたは存在したオブジェクトの履歴情報262cがUndo候補動作となる。
 同期処理部264は、ワークスペースを提供するワークスペースデータ262a、オブジェクトデータ262b、履歴情報262cを他の情報処理装置PCとの間で同期する。すなわち、同期処理部264は、自装置においてワークスペースデータ262a、オブジェクトデータ262b、履歴情報262cのいずれかが追加または更新されると、追加または更新後の各データの全部または差分を、ワークスペースデータを共有している他の情報処理装置PCへそれぞれ送信する。また、同期処理部264は、他の情報処理装置PCから追加または更新後のデータの全部または差分を受信すると、それに応じて、自装置のデータ格納部262に格納されているデータを更新する。
 View情報管理部268は、自装置におけるView情報をサーバ装置SRVへ送信するとともに、必要に応じて、サーバ装置SRVから他の情報処理装置PCにおけるView情報を取得する。このView情報には、各時点におけるView範囲の位置情報(各座標など)および使用しているユーザ名などが含まれる。
 送受信部266は、他の情報処理装置PCおよびサーバ装置SRVとの間のデータ通信を制御する。具体的には、送受信部266は、同期処理部264またはView情報管理部268からの要求に応じて必要なメッセージを送信したり、他の情報処理装置PCまたはサーバ装置SRVから受信したデータを同期処理部264またはView情報管理部268へ与えたりする。
 ユーザ認証部270は、本実施の形態に従うワークスペースのアプリケーションを使用するユーザ認証を行う。具体的には、当該ワークスペースのアプリケーションが実行されると、ユーザ認証部270は、ユーザにIDおよびパスワードの入力を促す。そして、ユーザからIDおよびパスワードの入力があると、サーバ装置SRV(図1)に問合せを行ってユーザ認証を行う。ユーザ認証が成功すると、ユーザによる当該ワークスペースのアプリケーションの使用を許可するとともに、現在使用中(ログイン中)のユーザ名を保持する。
 (サーバ装置の制御構造)
 図9は、この発明の実施の形態1に従うサーバ装置SRVの制御構造を示すブロック図である。
 図9を参照して、サーバ装置SRVは、その制御構造として、ユーザ認証部290と、データ格納部292と、View情報管理部294と、送受信部296とを含む。データ格納部292は、ハードディスクドライブ211(図2)の任意の領域として提供され、送受信部296は、通信インターフェイス207および関連するドライバソフトの協働によって提供され、その他の各部は、代表的に、CPU201(図2)がプログラムをメモリ213(図2)に展開し、各コマンドを実行することで提供される。
 また、データ格納部292は、認証データ292aと、View情報292bと、View情報リスト292cとを含む。
 ユーザ認証部290は、情報処理装置PCからのユーザ認証の問合せに応答して、ユーザの認証を行う。具体的には、情報処理装置PCからユーザのIDおよびパスワードを含む問合せを受信すると、データ格納部292内の認証データ292aを参照して受信したIDに対応付けられたパスワードを読出し、当該読出した値が受信したパスワードと一致するか否かに基づいて、ユーザ認証を行う。ここで、認証データ292aには、予めユーザのIDとパスワードとが対応付けて格納されているものとする。続いて、ユーザ認証部290は、認証結果(認証成功または認証失敗)を送信元の情報処理装置に応答する。
 View情報管理部294は、各情報処理装置PCからView情報を受信すると、データ格納部292に格納されている対応するView情報292bを新規作成または更新する。さらに、View情報管理部294は、これらのView情報292bをリスト化したView情報リスト292cについても更新する。また、View情報管理部294は、各情報処理装置PCからView情報の要求を受けると、View情報リスト292cおよびView情報292bを参照して、対象の情報処理装置におけるView情報を応答する。
 送受信部296は、各情報処理装置PCとの間のデータ通信を制御する。
 (データ構造)
 各情報処理装置PCのデータ格納部262に格納される各データの構造について、図10、図11、図12A、図12Bを参照して説明する。各データは、代表的に、XML(Extensible Markup Language)などのマークアップ言語で記述される。これは、タグ(<>と</>とで囲まれる文字に与える属性)を自在に設定することでシステムの拡張性を高めるためである。
 (1-1)ワークスペースデータ
 図10は、この発明の実施の形態1に従うワークスペースデータ262aの内容の一例を示す図である。図10を参照して、ワークスペースデータ262aは、当該ワークスペースを特定するための識別番号(ID)401と、当該ワークスペースの名称であるワークスペース名402と、当該ワークスペースに含まれるオブジェクトを特定するためのオブジェクトデータ番号403とを含む。
 オブジェクトデータ番号403は、ユーザ操作によってワークスペース上に追加されたオブジェクトに応じて順次追記される。なお、ワークスペースに一旦オブジェクトが追加されると、たとえその後、当該オブジェクトが削除されたとしても、特段の処理がなされない限り、オブジェクトデータ番号403の記述自体は残存する。これは、後述するように、Undo機能を提供するためには、各オブジェクトの履歴情報を残しておく必要があるからである。
 (1-2)オブジェクトデータ
 図11は、この発明の実施の形態1に従うオブジェクトデータ262bの内容の一例を示す図である。図11を参照して、オブジェクトデータ262bは、図10に示すワークスペースデータ262aに記述されるオブジェクトデータ番号403に対応付けて生成される。すなわち、各オブジェクトデータ262bは、ワークスペースデータ262aのオブジェクトデータ番号403(図10)と対応付けられた識別番号(ID)405を含む。さらに、各オブジェクトデータ262bは、当該オブジェクトの名称であるオブジェクト名406と、当該オブジェクトについての履歴情報を特定するための履歴情報番号407とを含む。この履歴情報番号407は、後述する履歴情報の識別番号と対応付けられた番号である。なお、履歴情報の識別番号は任意に設定することができるが、本実施の形態では、時系列に識別番号をインクリメント、すなわち新しいものほど大きな識別番号であるとする。
 (1-3)履歴情報
 図12Aおよび図12Bは、この発明の実施の形態1に従う履歴情報262cの内容の一例を示す図である。図12Aおよび図12Bを参照して、履歴情報262cは、図11に示すオブジェクトデータ262bに記述された履歴情報番号407と対応付けて生成される。すなわち、オブジェクトデータ262bの各々は、オブジェクトデータ262bの履歴情報番号407(図11)と対応付けられた識別番号(ID)409を含む。さらに、各履歴情報262cは、当該履歴情報の名称である履歴名410と、当該履歴の操作がなされた内容を示す動作タイプ情報411と、当該履歴の操作がなされた時刻を示す動作時刻情報412と、当該履歴の操作がなされた位置情報(各座標)を示す動作場所情報413と、当該履歴の操作を行ったユーザを示す動作操作者情報414と、対応のオブジェクトの詳細な情報を示すオブジェクト詳細情報415とを含む。
 動作タイプ情報411には、対応のオブジェクトについてなされた操作の内容、たとえば「(新規)作成」、「移動」、「サイズ変更」、「削除」などの値が記述される。動作時刻情報412には、ユーザが対応のオブジェクトに対して操作を行った時刻が記述される。なお、履歴情報262cは、ユーザがいずれかのオブジェクトに対して1回の操作(たとえば、1回の移動動作)を行う毎に新規作成される。動作場所情報413には、ユーザが対応のオブジェクトに対して操作を行った位置情報(開始位置または終点位置)の値が記述される。動作操作者情報414には、対応のオブジェクトに対して操作を行ったユーザを特定するための値が記述される。このユーザを特定するための値としては、ユーザ認証部270(図8)が保持するユーザ認証されたユーザ名などが用いられる。オブジェクト詳細情報415には、各オブジェクトを規定する情報が記述される。たとえば、対応のオブジェクトが線オブジェクト(オブジェクトタイプが「線」)であれば、そのアウトラインを示すベクトルデータ(始点、終点、アンカーポイント、曲率)などが記述される。また、対応のオブジェクトが画像オブジェクト(オブジェクトタイプが「・・・.jpg」)であれば、その画像データを特定するためのファイル名などが記述される。
 なお、上述の例では、各オブジェクトデータと対応する履歴情報とを、互いにリンク付けした別のファイル(データ)として取扱う構成について説明したが、各オブジェクトデータに履歴情報を含ませた同一のファイル(データ)としてもよい。
 次に、サーバ装置SRVのデータ格納部292に格納される各データの構造について、図13および図14を参照して説明する。これらのデータについても、代表的に、XMLなどのマークアップ言語で記述される。
 (2-1)View情報リスト
 図13は、この発明の実施の形態1に従うView情報292bの内容の一例を示す図である。図13を参照して、View情報292bは、当該View情報を特定するための識別番号(ID)421と、各情報処理装置PCを使用しているユーザを特定するためのユーザ名422と、各情報処理装置PCにおけるView範囲の各頂点の座標を示すView位置情報423とを含む。なお、View情報292bは、少なくとも、同一のワークスペースに参加している情報処理装置PCと同じ数だけ存在する。
 (2-2)View情報
 図14は、この発明の実施の形態1に従うView情報リスト292cの内容の一例を示す図である。図14を参照して、View情報リスト292cは、図13に示すView情報リストの識別番号(図13)421と対応付けられたView情報番号425を含む。なお、このView情報リスト292cに記述されるView情報番号425の数は、各時点において、同一のワークスペースに参加している情報処理装置PCの数に応じて増減するようにしてもよい。
 (Undo処理の処理手順)
 図15は、この発明の実施の形態1に従うUndo処理の処理手順を示すフローチャートである。なお、図15に示す処理手順が実行される前提として、複数のユーザがユーザ認証手続きを経て、それぞれが正規にログインしているものとする。また、図15に示す処理手順は、代表的に、情報処理装置PCのCPU201の各々がプログラムを実行することで提供される。
 さらに、各情報処理装置PCでは、ワークスペースのうち各ユーザにより指定されたView範囲内のオブジェクトがモニター205に逐次描画される。また、各情報処理装置PCでは、ワークスペースにおいて各ユーザによってなされたオブジェクトに対する操作についての履歴情報262cが順次格納される。
 図15を参照して、まず、情報処理装置PCのCPU201は、自装置において、ユーザがツールボックス304(図5および図6参照)のUndoボタンを選択したか否かを判断する(ステップS100)。Undoボタンが選択されていなければ(ステップS100においてNO)、ステップS100の処理が繰返される。一方、Undoボタンが選択された場合(ステップS100においてYESの場合)には、処理はステップS102に進む。
 すなわち、何らかの操作を取り消そうとするユーザは、使用している情報処理装置PCを操作して、ワークスペースの所望する位置にView範囲を設定した上で、View表示ウィンドウ300(図5および図6参照)に表示されるツールボックス304のUndoボタンをマウスなどによって選択する。Undoボタンは、操作取消の指示を情報処理装置PCに与えるボタンである。
 ステップS102では、情報処理装置PCのCPU201は、自装置におけるView範囲の情報(各頂点の座標)を取得する。続いて、情報処理装置PCのCPU201は、データ格納部262に格納されているすべての履歴情報262c(図8)を参照し、各履歴情報262cに含まれる動作場所情報413(図12Aおよび図12B)の値に基づいて、自装置のView範囲(第1視野範囲)に含まれる履歴情報262cを抽出する(ステップS104)。すなわち、情報処理装置PCのCPU201は、その位置情報である動作場所情報413の値が自装置のView範囲に含まれる履歴情報262cを操作取消の候補として抽出する。
 さらに、情報処理装置PCのCPU201は、抽出した履歴情報262cを、それぞれの動作時刻情報412(図12Aおよび図12B)の値に基づいて新しい順に並び替える(ステップS106)。すなわち、情報処理装置PCのCPU201は、抽出した履歴情報262cについて、動作時刻情報412の値をキーにして降順にソートする。
 以下、ステップS104およびS106における処理について、図16および図17を参照して説明する。
 図16は、この発明の実施の形態1に従う履歴情報の一例を示す図である。図17は、図16に示す履歴情報を抽出および並び替え後の一例を示す図である。
 一例として、ワークスペース上に、「オブジェクトA」(ID=1)、「オブジェクトB」(ID=2)、「オブジェクトC」(ID=3)の3つのオブジェクトが配置されているものとする。そして、図16は、これらのオブジェクトの履歴情報262cに記述された内容を簡潔に表形式で示したものである。なお、図16において、各履歴情報についての左側の枠には、上から順に「動作タイプ情報411」、「動作時刻情報412」、「動作操作者情報414」の値が示されているものとする。また、各履歴情報についての右側の枠には、上から順に「動作場所情報413」の「X座標値」および「Y座標値」が示されているものとする。
 なお、図16に示す表は説明の便宜上のものであり、図16と同じデータ構造のデータを生成する必要はない。
 このような各オブジェクトについての履歴情報に対して、情報処理装置PCのCPU201は、自装置のView範囲内にあるものを抽出する。たとえば、自装置におけるView位置情報の各頂点の座標が(421,385),(610,385),(421,518),(610,518)である場合には、動作場所情報413のX座標値が421~610の範囲であり、かつY座標値が385~518の範囲であるものが抽出される。
 図16に示す例では、オブジェクトCの履歴情報(1)が自装置のView範囲外にあることを示しているので、それを除いた残りの履歴情報が自装置のView範囲内にあるものとして抽出される。
 さらに、情報処理装置PCのCPU201は、抽出した履歴情報を、対応する動作時刻情報412の値に基づいて新しい順に並び替える。図17には、上述のような抽出および並び替え後の履歴情報の一例が示される。これらの履歴情報に係る各操作がUndo候補動作となる。その後、処理はステップS108(図15)に進む。
 再度、図15を参照して、ステップS108では、情報処理装置PCのCPU201は、ステップS106において並び替えたUndo候補動作のうち、最新のものを対象のUndo候補動作とする。
 続くステップS110では、情報処理装置PCのCPU201は、対象としたUndo候補動作についての操作者(ユーザ)を取得する。図17に示す例では、「オブジェクトB(2)」に対する「ユーザB」が行った「移動」が最新のUndo候補動作であるので、情報処理装置PCのCPU201は、対象としたUndo候補動作についての操作者として「ユーザB」を取得する。そして、処理はステップS112に進む。ステップS112およびS114では、対象としたUndo候補動作のオブジェクトが当該Undo候補動作の操作を行ったユーザによって視認されているとみなされるかが判断され、そのようにみなされると判断された場合に限って、操作取消(Undo)が実行される。
 より具体的には、ステップS112では、情報処理装置PCのCPU201は、対象としたUndo候補動作についての操作者(ユーザ)が使用している情報処理装置PCにおけるView範囲の位置情報を取得する。具体的には、情報処理装置PCのCPU201は、サーバ装置SRVから、データ格納部292に格納されているView情報292bおよびView情報リスト292d(図13参照)を取得する。そして、情報処理装置PCのCPU201は、これらの取得した情報のうち、その中に含まれるユーザ名422の値がステップS110において取得した操作者と一致するものを検索する。なお、図13に示す例では、「ユーザB」により指定されているView範囲(第2視野範囲)の位置情報として、4つの頂点の座標(100,200),(900,200),(100,800),(900,800)が取得される。そして、処理はステップS114に進む。
 ステップS114では、情報処理装置PCのCPU201は、対象としたUndo候補動作の動作位置(操作がなされた位置)が、対象としたUndo候補に係る操作者のView範囲内であるか否かを判断する。
 Undo候補動作の動作位置がステップS112で取得したView範囲内である場合(ステップS114においてYESの場合)には、処理はステップS116に進み、情報処理装置PCのCPU201は、対象としたUndo候補動作の操作取消(Undo)を実行する。より具体的には、ステップS116において、情報処理装置PCのCPU201は、データ格納部262に格納されているオブジェクトデータ262b(図11)に記述された履歴情報番号407のうち対応するもの(履歴情報番号の値が最も大きいもの)を削除する。この操作によって、対象としたオブジェクトには、1つ少ない履歴情報番号をもつ履歴情報がその属性として対応付けられ、最も新しい動作が取り消されたことになる。そして、処理はステップS118に進む。
 一方、Undo候補動作の動作位置がステップS110で取得したView範囲内でない場合(ステップS114においてNOの場合)には、対象としたUndo候補動作の操作取消(Undo)は実行されない。そして、処理はステップS118に進む。
 ステップS118では、情報処理装置PCのCPU201は、ステップS106において並び替えたUndo候補動作のうち、次に新しいものが存在するか否かを判断する。次に新しいものが存在しない場合(ステップS118においてNOの場合)には、Undo処理は終了する。
 一方、次に新しいものが存在する場合(ステップS118においてYESの場合)には、情報処理装置PCのCPU201は、当該次に新しいUndo候補動作を対象のUndo候補動作とする(ステップS120)。さらに、情報処理装置PCのCPU201は、自装置において、ユーザがツールボックス304のUndoボタンを再度選択したか否かを判断する(ステップS122)。Undoボタンが再度選択された場合には、処理はステップS110に移る。
 一方、Undoボタンが再度選択されていなければ(ステップS122においてNO)、情報処理装置PCのCPU201は、自装置において、ユーザがUndoボタン以外の他の操作を指示したか否かを判断する(ステップS124)。ユーザが何らの操作もしていない場合には(ステップS124においてNOの場合)、処理はステップS122に戻る。
 これに対して、ユーザがUndoボタン以外の他の操作を指示した場合(ステップS124においてYESの場合)には、Undo処理は終了する。
 本実施の形態によれば、複数のユーザによる同時アクセス可能なワークスペースにおいて、オブジェクトに対する何らかの操作の操作取消(Undo)は、当該オブジェクトが当該取消対象となった操作を行ったユーザによって視認されているとみなされる場合に限って、実行される。そのため、このような操作取消(Undo)をその操作を行ったユーザが認識していることを確認することで、複数のユーザ間で効率的な共同作業を行うことができる。
 [実施の形態2]
 上述した実施の形態1では、対象のオブジェクトが当該Undo候補動作の操作者のView範囲内に存在していることを条件として、操作取消(Undo)を実行する構成について例示した。これに対して、以下に説明する実施の形態2では、当該View範囲を描画するView表示ウィンドウ(表示窓)がアクティブ(選択状態)であることを操作取消(Undo)の実行条件とする構成について例示する。
 Microsoft(登録商標)のWindows(登録商標)を代表とするマルチウィンドウシステムを搭載したオペレーティングシステム(OS)では、同一画面上に複数のウィンドウ(表示窓)を配置可能である。このような場合には、当該操作者によってUndo候補動作に係るオブジェクトが視認されていることをより確実に判断するために、View表示ウィンドウがアクティブであることを条件とすることが好ましい。なお、「アクティブ」とは、同一画面上に表示可能な複数のウィンドウのうち、キーボードやマウスなどの入力装置を操作することで選択されているものを意味する。
 なお、上述のようなマルチウィンドウシステムを搭載したOSでは、GUI(Graphical User Interface)を提供するプロセスによって、いずれの表示ウィンドウがアクティブであるかが管理されている。そのため、OSのシステムコールなどを利用することで、View表示ウィンドウがアクティブであるか否かを容易に取得することができる。そのため、本実施の形態に従うシステムでは、View情報として、View範囲の位置情報およびユーザ名に加えて、View表示ウィンドウの状態(「アクティブ」であるか否か)が送信される。
 本実施の形態に従う各情報処理装置PCの制御構造については、実施の形態1に従う制御構造(図8)とほぼ同様であるが、View情報管理部268における処理が異なっている。すなわち、本実施の形態に従うView情報管理部268は、自装置におけるView表示ウィンドウの選択状態をOSから取得し、View情報としてサーバ装置SRVへ送信する点において、上述した実施の形態1に従うView情報管理部268とは異なる。
 一方、本実施の形態に従うサーバ装置SRVの制御構造については、そのデータ格納部292に格納されるView情報のデータ構造が実施の形態1とは異なっている。
 図18は、この発明の実施の形態2に従うView情報292dの内容の一例を示す図である。図18を参照して、View情報292dには、図13に示すView情報292bに比較して、各ユーザが表示させているView表示ウィンドウがアクティブであるか否かを示すアクティブ情報427が追加されている。なお、対応のView表示ウィンドウがアクティブであれば、その値は「true」となり、アクティブでなければ、その値は「false」となる。
 図19は、この発明の実施の形態2に従うUndo処理の処理手順を示すフローチャートである。図19に示す処理手順は、図15に示す実施の形態1に従うUndo処理の処理手順にステップS115Aの処理を追加したものに相当する。なお、図19のフローチャートに示すステップのうち、図15のフローチャートに示すステップと同様の処理を行うものについては、同一のステップ番号を付している。
 より具体的には、ステップS114においてYESの場合、すなわちUndo候補動作の動作位置がステップS112で取得したView範囲内である場合には、処理はステップS115Aに進む。
 ステップS115Aでは、情報処理装置PCのCPU201は、対象としたUndo候補に係る操作者のView範囲を描画するView表示ウィンドウがアクティブであるか否かを判断する。この判断は、ステップS112においてサーバ装置SRVから取得されるView情報292dのアクティブ情報427の値に基づいて行われる。
 対象としたUndo候補に係る操作者のView範囲を描画したView表示ウィンドウがアクティブである場合(ステップS115AにおいてYESの場合)には、処理はステップS116に進む。一方、対象としたUndo候補に係る操作者のView範囲を描画したView表示ウィンドウがアクティブでない場合(ステップS115AにおいてNOの場合)には、処理はステップS118に進む。
 その他のステップにおける処理については、図15の対応するステップにおける処理と同様であるので、詳細な説明は繰返さない。
 本実施の形態によれば、上述の実施の形態1における効果に加えて、対象のオブジェクトが当該取消対象となった操作を行ったユーザによって視認されているとみなされる可能性がより高いことを条件として、操作取消(Undo)が実行されため、操作取消の操作を行ったユーザが認識していることを確認することができる。
 [実施の形態3]
 上述した実施の形態1では、対象のオブジェクトが当該Undo候補動作の操作者のView範囲内に存在しているか否かについての判断をUndo処理時にのみ行う構成について例示した。これに対して、以下に説明する実施の形態3では、当該操作者によってUndo候補動作に係るオブジェクトが視認されていることをより確実に判断するために、条件が継続的に成立していることを操作取消(Undo)の条件とする構成について例示する。
 これは、いずれかのユーザによってUndo処理が実行された場合に、Undo候補動作の操作者のView範囲内にたまたま当該Undo候補動作に係るオブジェクトが存在していた場合であっても、当該Undo候補動作についてのUndoが実行されてしまう。そのため、Undo候補動作の操作者がUndo候補動作に係るオブジェクトを視認している可能性がより高い状態であることをUndo実行の条件とするものである。
 本実施の形態に従う各情報処理装置PCの制御構造については、Undo実行に係る条件を除いて、実施の形態1に従う制御構造(図8)とほぼ同様である。
 一方、本実施の形態に従うサーバ装置SRVの制御構造については、そのデータ格納部292に格納されるView情報リストおよびView情報のデータ構造が実施の形態1とは異なっている。
 図20は、この発明の実施の形態3に従うView情報292eの内容の一例を示す図である。図21は、この発明の実施の形態3に従うView情報リスト292fの内容の一例を示す図である。
 図20を参照して、View情報292eには、図13に示すView情報292bに比較して、View情報が更新された時刻を示す更新時刻情報428が追加されている。なお、この更新時刻情報428は、各情報処理装置PCのView情報管理部268(図8)、またはサーバ装置SRVのView情報管理部294(図9)によって付加される。
 図21を参照して、View情報リスト292fは、各ユーザについてのView情報の更新履歴431を含む。この更新履歴431には、各ユーザのView情報292eが更新される毎に、対応するView情報292eを特定するView情報番号が追加される。このように、更新履歴431を格納しておくことで、Undo候補動作に係るオブジェクトがいずれのタイミングで当該Undo候補動作の操作者のView範囲内に存在していたかを判断することができる。さらに、Undo候補動作に係るオブジェクトが当該Undo候補動作の操作者のView範囲内に存在していた期間を算出することもできる。
 図22は、この発明の実施の形態3に従うUndo処理の処理手順を示すフローチャートである。図22に示す処理手順は、図15に示す実施の形態1に従うUndo処理の処理手順にステップS113の処理を追加するとともに、ステップS114の処理に代えてステップS114Aの処理を実行するようにしたものに相当する。なお、図22のフローチャートに示すステップのうち、図15のフローチャートに示すステップと同様の処理を行うものについては、同一のステップ番号を付している。
 より具体的には、ステップS112において、対象としたUndo候補動作に係る操作者によって使用されている情報処理装置PCにおけるView範囲の位置情報が取得されると、処理はステップS113に進む。
 ステップS113において、情報処理装置PCのCPU201は、Undo候補動作の操作者のView情報292eのうち、その更新時刻情報428の値が対象としたUndo候補動作が行われた時刻(動作時刻情報412の値)から現在時刻までに含まれるものを抽出する。そして、処理はステップS114Aに進む。
 ステップS114Aでは、情報処理装置PCのCPU201は、対象としたUndo候補動作の動作位置が、対象としたUndo候補動作が行われた時刻から現在時刻までの間において、対象としたUndo候補に係る操作者のView範囲内に継続して存在していたか否かを判断する。
 具体的には、情報処理装置PCのCPU201は、ステップS113において抽出したUndo候補動作の操作者のView情報292eの各々について、対象としたUndo候補動作の動作位置がそのView範囲内であるか否かについて判断する。そして、すべてのView情報292eについて、対象としたUndo候補動作の動作位置がそのView範囲内である場合に、対象としたUndo候補に係る操作者のView範囲内に継続して存在していたと判断される(ステップS114AにおいてYES)。そして、処理はステップS116に進む。
 一方、いずれか1つのView情報292eでも対象としたUndo候補動作の動作位置がそのView範囲内でなければ、対象としたUndo候補に係る操作者のView範囲内に継続して存在していなかったと判断される(ステップS114AにおいてNO)。そして、処理はステップS118に進む。
 その他のステップにおける処理については、図15の対応するステップにおける処理と同様であるので、詳細な説明は繰返さない。
 なお、上述したステップS114Aでは、対象としたUndo候補動作の動作位置が、当該Undo候補動作が行われた時刻から現在時刻までの全期間に亘って、当該Undo候補に係る操作者のView範囲内に存在していた場合に、Undoの条件が成立したと判断したが、当該全期間のうち所定割合の期間において、当該Undo候補に係る操作者のView範囲内に存在していた場合に、Undoの条件が成立したと判断してもよい。すなわち、対象としたUndo候補動作の動作位置が当該Undo候補に係る操作者のView範囲内に存在した期間を積算し、当該積算した期間が対象としたUndo候補動作が行われた時刻から現在時刻までの全期間のうちの所定割合(たとえば、80%)以上であれば、Undoを実行してもよい。
 本実施の形態によれば、上述の実施の形態1における効果に加えて、対象のオブジェクトが当該取消対象となった操作を行ったユーザによって視認されているとみなされる可能性がより高いことを条件として、操作取消(Undo)が実行されため、操作取消の操作を行ったユーザが認識していることをより確実に確認することができる。
 [実施の形態4]
 上述した実施の形態1では、Undo候補動作の操作者のView範囲の位置に基づいて、当該Undo候補動作に対する操作取消(Undo)を実行するか否かについて判断する構成について例示した。ところで、Undo候補動作の操作者がその対象とされたオブジェクトに対してさらに操作を行おうとしている場合も考えられる。このような場合には、操作取消(Undo)を実行することは適切ではない。
 そのため、以下に説明する実施の形態4では、対象としたUndo候補動作の操作者が対象となったオブジェクトに対して、何らかの操作を行おうとしている場合には、操作取消(Undo)を実行しない構成について例示する。より具体的には、対象としたUndo候補動作の操作者が対象となったオブジェクトを選択している場合には、当該オブジェクトに対する操作取消(Undo)を実行しない。
 本実施の形態に従う各情報処理装置PCの制御構造については、実施の形態1に従う制御構造(図8)とほぼ同様であるが、View情報管理部268における処理が異なっている。すなわち、本実施の形態に従うView情報管理部268は、自装置におけるワークスペース上においてユーザが選択しているオブジェクトの情報をデータ操作部252などから取得し、View情報としてサーバ装置SRVへ送信する点において、上述した実施の形態1に従うView情報管理部268とは異なる。
 一方、本実施の形態に従うサーバ装置SRVの制御構造については、そのデータ格納部292に格納されるView情報のデータ構造が実施の形態1とは異なっている。
 図23は、この発明の実施の形態4に従うView情報292gの内容の一例を示す図である。図23を参照して、View情報292gには、図13に示すView情報292bに比較して、対応するユーザが選択しているオブジェクトを示す選択オブジェクト名433が追加されている。なお、図23には、選択オブジェクト名433として、オブジェクト名およびオブジェクトIDを用いる場合を例示する。
 図24は、この発明の実施の形態4に従うUndo処理の処理手順を示すフローチャートである。図24に示す処理手順は、図15に示す実施の形態1に従うUndo処理の処理手順にステップS115Bの処理を追加したものに相当する。なお、図24のフローチャートに示すステップのうち、図15のフローチャートに示すステップと同様の処理を行うものについては、同一のステップ番号を付している。
 より具体的には、ステップS114においてYESの場合、すなわちUndo候補動作の動作位置がステップS112で取得したView範囲内である場合には、処理はステップS115Bに進む。
 ステップS115Bでは、情報処理装置PCのCPU201は、対象としたUndo候補に係る操作者が当該Undo候補動作のオブジェクトを選択しているか否かを判断する。この判断は、ステップS112においてサーバ装置SRVから取得されるView情報292gの選択オブジェクト名433の値に基づいて行われる。
 対象としたUndo候補に係る操作者が当該Undo候補動作のオブジェクトを選択している場合(ステップS115BにおいてYESの場合)には、処理はステップS116に進む。一方、対象としたUndo候補に係る操作者が当該Undo候補動作のオブジェクトを選択していない場合(ステップS115BにおいてNOの場合)には、処理はステップS118に進む。
 その他のステップにおける処理については、図15の対応するステップにおける処理と同様であるので、詳細な説明は繰返さない。
 本実施の形態によれば、上述の実施の形態1における効果に加えて、あるユーザがオブジェクトに対して何らかの操作を行おうとしている場合に、別のユーザによって同一のオブジェクトに対して行われた直前の操作が取り消されるといった事態を回避できる。これにより、複数のユーザによる同時アクセス可能な仮想空間においても、効率的な共同作業を実現できる。
 [実施の形態5]
 上述した実施の形態1では、Undo候補動作の操作者のView範囲の位置に基づいて、当該Undo候補動作に対するUndoを実行するか否かについて判断する構成について例示した。ところで、Undo候補動作の操作者が常にワークスペースを操作しているとは限らない。たとえば、共同作業を行う複数のユーザのうち、一部のユーザが当該作業を離れる場合も考えられる。このような場合には、残るユーザにUndoの実行を委任することができれば、業務の停滞を低減できる。そのため、以下に説明する実施の形態5では、各ユーザが自身のなした操作についてのUndoを他のユーザに委任できる構成について例示する。
 本実施の形態に従う各情報処理装置PCの制御構造については、実施の形態1に従う制御構造(図8)とほぼ同様であるが、ユーザからの指示に応じて、委任情報をサーバ装置SRVへ送信可能に構成されている点において、上述した実施の形態1に従う制御構造とは異なる。
 一方、本実施の形態に従うサーバ装置SRVの制御構造については、実施の形態1に従う制御構造(図9)とほぼ同様であるが、データ格納部292に委任リスト292hがさらに格納される点において、上述した実施の形態1に従う制御構造とは異なる。この委任リスト292hは、各情報処理装置PCからの委任情報に応じて、新規作成または更新される。
 図25は、この発明の実施の形態5に従う委任リスト292hの内容の一例を示す図である。図25を参照して、委任リスト292hには、委任を行ったユーザ名が記述される。
 なお、ユーザ名に加えて、Undoの実行を委任する期間をさらに定めるようにしてもよい。この場合には、Undo候補動作が行われた時刻(動作時刻情報412の値)が委任された期間内であれば、無条件にUndoが実行され、そうでなければ、通常の条件判断がなされる。
 図26は、この発明の実施の形態5に従うUndo処理の処理手順を示すフローチャートである。図26に示す処理手順は、図15に示す実施の形態1に従うUndo処理の処理手順にステップS111AおよびA111Bの処理を追加したものに相当する。なお、図26のフローチャートに示すステップのうち、図15のフローチャートに示すステップと同様の処理を行うものについては、同一のステップ番号を付している。
 より具体的には、ステップS110の実行後、処理はステップS111Aに進む。
 ステップS111Aでは、情報処理装置PCのCPU201は、サーバ装置SRVから委任リストを取得する。続くステップS111Bでは、情報処理装置PCのCPU201は、取得した委任リストに対象としたUndo候補動作に係る操作者のエントリが有るか否かを判断する。
 取得した委任リストに対象としたUndo候補動作に係る操作者のエントリが有る場合(ステップS111BにおいてYESの場合)には、処理はステップS116に進む。一方、取得した委任リストに対象としたUndo候補動作に係る操作者のエントリが無い場合(ステップS111BにおいてNOの場合)には、処理はステップS112に進む。
 その他のステップにおける処理については、図15の対応するステップにおける処理と同様であるので、詳細な説明は繰返さない。
 なお、上述した実施の形態5では、委任リストを用いてユーザ単位で委任を設定する構成について例示したが、サーバ装置SRVに格納される履歴情報に委任属性を付加できるようにしてもよい。この場合には、対象としたUndo候補動作の各々について、委任の有無が随時判断される。
 [実施の形態6]
 上述の実施の形態1~5では、複数の情報処理装置PCとサーバ装置SRVとで構成されるシステムについて例示したが、情報処理装置PC同士がいわゆるピア・トゥ・ピア接続により、同様のシステムを構成してもよい。
 図27は、この発明の実施の形態6に従うワークスペースを提供するための情報処理装置PC1およびPC2の制御構造を示すブロック図である。
 図27を参照して、例えば、情報処理装置PC1に、実施の形態1に従う情報処理装置PCの制御構造(図8)に含まれる各機能に加えて、実施の形態1に従うサーバ装置SRV(図9)の主要な機能を実装するとともに、情報処理装置PC2に、実施の形態1に従う情報処理装置PCの制御構造(図8)に含まれる機能のうちデータ格納部262などを除く機能を実装することで、サーバ装置SRVを必要としないでワークスペースを提供することができる。なお、各部の構成および動作については、上述したので、詳細な説明は繰返さない。
 このような構成を採用することで、より簡素化された構成によってワークスペースを実現することができる。
 あるいは、サーバ装置SRVがデータ格納部262に相当する機能を共通的に提供するようにしてもよい。
 [実施の形態1~6の組み合わせ]
 上述した実施の形態1~6に従うそれぞれの構成を任意に組み合わせることも当然に実施可能である。
 [その他の実施の形態]
 上述の実施の形態1~6では、本発明を各種オブジェクトを任意に配置できるワークスペースに適用した場合の構成について例示したが、共同作業可能な表計算アプリケーションや文書作成アプリケーションであっても同様に適用可能である。すなわち、行列状にセルが配置された表計算アプリケーションでは、各セルを上述した1つのオブジェクトに相当するものと見なすことで、上記と同様の処理が可能である。また、文書作成アプリケーションでは、単語、文、段落、節などの各構成単位を上述した1つのオブジェクトに相当するものと見なすことで、上記と同様の処理が可能である。
 また、本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
 さらに、本発明に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
 提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
 さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 201 CPU、203 内部バス、205 モニター、207 通信インターフェイス、209 入力装置、211 ハードディスクドライブ(HDD)、213 メモリ、215 CD-ROMドライブ、215a CD-ROM、217 FDDドライブ、217a フレキシブルディスク、252 データ操作部、254 View作成部、256 描画部、258 Undo処理用インターフェイス、260 オブジェクト抽出部、262 データ格納部、262a ワークスペースデータ、262b オブジェクトデータ、262c 履歴情報、264 同期処理部、266,296 送受信部、268 View情報管理部、270,290 ユーザ認証部、292 データ格納部、292a 認証データ、292b,292d,292e,292g View情報、292c,292f View情報リスト、292h 委任リスト、294 View情報管理部、300 表示ウィンドウ、302 位置指定ウィンドウ、304 ツールボックス、402 ワークスペース名、403 オブジェクトデータ番号、406 オブジェクト名、407 履歴情報番号、410 履歴名、411 動作タイプ情報、412 動作時刻情報、413 動作場所情報、414 動作操作者情報、415 オブジェクト詳細情報、422 ユーザ名、423 View位置情報、425 View情報番号、427 アクティブ情報、428 更新時刻情報、431 更新履歴、433 選択オブジェクト名、NW ネットワーク、OBJ,OBJ1 オブジェクト、PC,PC1~PC3 情報処理装置、SRV サーバ装置、VA,VA1,VA2 View範囲、WS ワークスペース。

Claims (10)

  1.  記憶部(211;262)と、各々が入力部(209)および表示部(205)を含む複数の情報処理装置(PC)とを用いて、複数のユーザによる同時アクセス可能な仮想空間を提供する情報処理方法であって、
     前記情報処理装置が、前記仮想空間のオブジェクトを前記表示部に描画するステップ(256)と、
     前記情報処理装置が、前記入力部によって前記仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報(262c)を前記記憶部に格納するステップ(252)とを備え、前記履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含み、
     前記情報処理装置が、ユーザによる操作取消の指示を受けて、前記記憶部の前記履歴情報に基づいて、操作取消候補となる操作および当該操作取消候補の対象となるオブジェクトを特定するステップ(S102,S104,S106,S108)と、
     前記情報処理装置が、前記操作取消候補のオブジェクトが当該操作取消候補の操作を行ったユーザによって視認されているとみなされる場合に、当該操作取消候補についての操作取消を実行するステップ(S110,S112,S114,S116)とを備える、情報処理方法。
  2.  前記履歴情報は、オブジェクトの位置情報をさらに含む、請求の範囲第1項に記載の情報処理方法。
  3.  前記描画するステップは、前記仮想空間のうちユーザにより指定された第1視野範囲内にあるオブジェクトを描画するステップを含み、
     前記特定するステップは、操作取消候補の対象となるオブジェクトとしてその位置が前記第1視野範囲に含まれるものを操作取消候補として抽出するステップ(S104)を含む、請求の範囲第2項に記載の情報処理方法。
  4.  前記操作取消を実行するステップは、
      前記操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップ(S110)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内であるか否かを判断するステップ(S114)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内である場合には、前記操作取消を実行し、前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内ではない場合には、前記操作取消を実行しないステップ(S114,S116)とを含む、請求の範囲第2項に記載の情報処理方法。
  5.  前記操作取消を実行するステップは、
      前記操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップ(S110)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内であるか否かを判断するステップ(S114)と、
      前記第2視野範囲を描画する表示窓が選択状態であるか否かを判断するステップ(S115A)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内であり、かつ前記第2視野範囲を描画する表示窓が選択状態である場合には、前記操作取消を実行し、それ以外の場合には、前記操作取消を実行しないステップ(S114,S115A,S116)とを含む、請求の範囲第2項に記載の情報処理方法。
  6.  前記操作取消を実行するステップは、
      前記操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップ(S110)と、
      前記操作取消候補の対象となるオブジェクトの位置が当該操作取消候補の操作の実行から継続して前記第2視野範囲内であったか否かを判断するステップ(S114A)と、
      前記操作取消候補の対象となるオブジェクトの位置が継続して前記第2視野範囲内であった場合には、前記操作取消を実行し、前記操作取消候補の対象となるオブジェクトの位置が継続しては前記第2視野範囲内になかった場合には、前記操作取消を実行しないステップ(S114A,S116)とを含む、請求の範囲第2項に記載の情報処理方法。
  7.  前記操作取消を実行するステップは、
      前記操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップ(S110)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内に含まれるか否かを判断するステップ(S114)と、
      前記操作取消候補の操作を行ったユーザによって前記操作取消候補のオブジェクトが選択されているか否かを判断する(S115B)ステップと、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内であり、かつ前記操作取消候補のオブジェクトが選択されていない場合には、前記操作取消を実行し、それ以外の場合には、前記操作取消を実行しないステップ(S114,S115B,S116)とを含む、請求の範囲第2項に記載の情報処理方法。
  8.  前記情報処理装置が、ユーザによる指示を受けて、当該ユーザによってなされた操作についての操作取消の実行の委任状態を設定するステップをさらに備え、
     前記操作取消を実行するステップは、
      前記操作取消候補の操作を行ったユーザにより指定されている第2視野範囲を取得するステップ(S110)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内であるか否かを判断するステップ(S114)と、
      前記操作取消候補のオブジェクトについて委任状態に設定されているか否かを判断するステップ(S111A,S111B)と、
      前記操作取消候補の対象となるオブジェクトの位置が前記第2視野範囲内である、および前記操作取消候補のオブジェクトについて委任状態に設定されている、のいずれかの場合には、前記操作取消を実行し、それ以外の場合には、前記操作取消を実行しないステップ(S111B,S114,S116)とを含む、請求の範囲第2項に記載の情報処理方法。
  9.  前記情報処理装置が、ユーザによる操作取消の再指示を受けて、前記記憶部からその位置情報が前記第1視野範囲内に含まれる次に新しい履歴情報を操作取消の次候補として抽出するステップ(S110,S122)と、
     前記情報処理装置が、前記操作取消の次候補のオブジェクトが当該前記操作取消の次候補の操作を行ったユーザによって視認されているとみなされる場合に、当該前記操作取消の次候補についての操作取消を実行するステップ(S112,S114,S116)とをさらに備える、請求の範囲第3項に記載の情報処理方法。
  10.  他の情報処理装置(PC)および記憶部(211;262)とデータ通信可能に構成され、複数のユーザによる同時アクセス可能な仮想空間を提供する情報処理装置であって、
     入力部(209)と、
     表示部(205)と、
     前記仮想空間のオブジェクトを前記表示部に描画するための描画部(256)と、
     前記入力部によって前記仮想空間においてユーザによってなされたオブジェクトに対する操作の履歴情報(262c)を前記記憶部に格納するための管理部(252)とを備え、前記履歴情報は、オブジェクトに対する操作を行ったユーザの情報を含み、
     ユーザによる操作取消の指示を受けて、前記記憶部の前記履歴情報に基づいて、操作取消候補となる操作および当該操作取消候補の対象となるオブジェクトを抽出するための抽出部(260)と、
     前記操作取消候補のオブジェクトが当該操作取消候補の操作を行ったユーザによって視認されているとみなされる場合に、当該操作取消候補についての操作取消を実行するための実行部(258)とを備える、情報処理装置。
PCT/JP2009/058248 2008-06-20 2009-04-27 情報処理方法および情報処理装置 WO2009154045A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009542278A JP4853573B2 (ja) 2008-06-20 2009-04-27 情報処理方法、情報処理装置およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-161407 2008-06-20
JP2008161407 2008-06-20

Publications (1)

Publication Number Publication Date
WO2009154045A1 true WO2009154045A1 (ja) 2009-12-23

Family

ID=41433962

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/058248 WO2009154045A1 (ja) 2008-06-20 2009-04-27 情報処理方法および情報処理装置

Country Status (2)

Country Link
JP (1) JP4853573B2 (ja)
WO (1) WO2009154045A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5345129B2 (ja) * 2008-09-29 2013-11-20 パナソニック株式会社 ユーザインターフェース装置、ユーザインターフェース方法、及び記録媒体
US11310295B1 (en) * 2021-08-27 2022-04-19 Salesforce Inc. Integrated workspace on a communication platform

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285331B1 (ko) * 2019-03-15 2021-08-04 한국과학기술연구원 여러 사용자 사이의 상호작용에 대한 인터랙션 복원을 지원하는 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187117A (ja) * 1992-12-16 1994-07-08 Fujitsu Ltd ウィンドウ共有化方式
JPH10232891A (ja) * 1996-10-28 1998-09-02 Altera Corp 電子設計自動化用ワークグループコンピューティング
JP2002278664A (ja) * 2001-03-19 2002-09-27 Toshiba Corp マルチウインドウシステム及びマルチウインドウ表示方法並びにプログラム
JP2004258802A (ja) * 2003-02-24 2004-09-16 Fuji Xerox Co Ltd 作業空間管理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187117A (ja) * 1992-12-16 1994-07-08 Fujitsu Ltd ウィンドウ共有化方式
JPH10232891A (ja) * 1996-10-28 1998-09-02 Altera Corp 電子設計自動化用ワークグループコンピューティング
JP2002278664A (ja) * 2001-03-19 2002-09-27 Toshiba Corp マルチウインドウシステム及びマルチウインドウ表示方法並びにプログラム
JP2004258802A (ja) * 2003-02-24 2004-09-16 Fuji Xerox Co Ltd 作業空間管理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5345129B2 (ja) * 2008-09-29 2013-11-20 パナソニック株式会社 ユーザインターフェース装置、ユーザインターフェース方法、及び記録媒体
US11310295B1 (en) * 2021-08-27 2022-04-19 Salesforce Inc. Integrated workspace on a communication platform
US11888908B2 (en) 2021-08-27 2024-01-30 Salesforce, Inc. Integrated workspace on a communication platform

Also Published As

Publication number Publication date
JP4853573B2 (ja) 2012-01-11
JPWO2009154045A1 (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
US11023834B2 (en) Collaborative design systems, apparatuses, and methods
JP4864443B2 (ja) ツリービューベースエディタでのインラインプロパティ編集のシステムおよび方法
RU2481623C2 (ru) Сетевое управление данными в распределенном наборе устройств
JP2010113539A (ja) 情報処理方法、情報処理装置およびプログラム
KR20060101221A (ko) 풍부한 데이터 바인딩된 애플리케이션
JP5812507B2 (ja) 端末装置及びアノテーション方法並びにコンピュータシステム及びコンピュータプログラム
WO2013003399A2 (en) Collaborative development of a model on a network
WO2012177557A2 (en) Multi-tenant collaborative review service
JPH0816872B2 (ja) 共用データ・オブジェクトの領域を複数のユーザによる操作から保護する方法および編集システム
JP2015504189A (ja) 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
JP2010039926A (ja) 情報処理装置、情報処理方法、情報処理プログラム、および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
US20060041440A1 (en) Method, system and program product for managing a project
CN108369577A (zh) 在电子文档之间共享内容
JP2010044511A (ja) 情報処理方法、情報処理装置およびプログラム
JP4853573B2 (ja) 情報処理方法、情報処理装置およびプログラム
Cheng et al. Weaving a social fabric into existing software
US20190212987A1 (en) Content development device
JP5131045B2 (ja) 情報処理方法、情報処理装置およびプログラム
JP2002007651A (ja) ワークフロー作成システム
JP2006120040A (ja) ワークフローシステムおよびワークフロー連携方法およびプログラムおよび記録媒体
JP2008310442A (ja) 遠隔操作システム、制御方法及びプログラム
US6369829B1 (en) Constructive systems for objects in a computer-implemented graphics system
US20220405464A1 (en) Information processing apparatus, non-transitory computer readable medium storing program, and information processing method
JP2005122572A (ja) 情報処理方法及び画像処理方法
JP6206463B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに情報処理システム、その制御方法、及びプログラム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2009542278

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09766493

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09766493

Country of ref document: EP

Kind code of ref document: A1