US6610102B1 - Data conferencing system with distributed electronic sheet - Google Patents

Data conferencing system with distributed electronic sheet Download PDF

Info

Publication number
US6610102B1
US6610102B1 US08/678,781 US67878196A US6610102B1 US 6610102 B1 US6610102 B1 US 6610102B1 US 67878196 A US67878196 A US 67878196A US 6610102 B1 US6610102 B1 US 6610102B1
Authority
US
United States
Prior art keywords
electronic sheet
conferencing system
data conferencing
data
sheet
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related, expires
Application number
US08/678,781
Inventor
Barry Keith Aldred
Howard Shelton Lambert
Howard David Mitchell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Assigned to IBM CORPORATION reassignment IBM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MITCHELL, HOWARD DAVID, ALDRED, BARRY KEITH, LAMBERT, HOWARD SHELTON
Application granted granted Critical
Publication of US6610102B1 publication Critical patent/US6610102B1/en
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Definitions

  • the invention relates to a data conferencing system including at least two computer workstations linked by a data network.
  • desk top conferencing is used to allow the needed interaction, which normally includes data collaboration facilities, supplemented by basic audio and video exchange.
  • the most common real-time data capability is the chalkboard or whiteboard which provides an ability either to exchange basic drawings or to annotate a base image.
  • Such a system is described for example in “Beyond the Chalkboard: Computer Support for Collaboration and Problem Solving in Meetings” by M Stefik, G Foster, D Bobrow, K Kahn, S Lanning and L Suchman, p32-47 in Computing Practices, Communications of the ACM, Vol 30, Number 1, January 1987.
  • Extensions to the basic graphic chalkboard facilities frequently include some support for adding text information through marker pen support or text entry and edit. Typical examples of the kind of information and associated analysis might be: ranking of employee performances on multiple criteria, exploring sales data, preliminary project costings, and so on.
  • EP-A-0550370 systems which provided a data sharing facility are disclosed in EP-A-0550370 and EP-A-0550374.
  • a remote access program such as the NetView Distributed Console Access Facility (DCAF) product available from IBM Corporation, which allows a user to access a computer of a remote user whilst the remote user is working on it.
  • DCAF NetView Distributed Console Access Facility
  • both users can share all the data, the programs and the environment of the remote computer.
  • the user who accesses the remote computer might have to work in an unknown environment, maybe using an unknown wordprocessor.
  • a remote access program is not really appropriate for a peer to peer conferencing or collaborative working environment.
  • the present invention provides a data conferencing system, including at least two computer workstations linked by a data network, each computer workstation including:
  • the electronic sheet is somewhat similar to the chalkboard, in that it too is designed to simulate a conventional chalkboard in a desktop conferencing environment, allowing different users to freely input and edit data across the electronic sheet.
  • the chalkboard is graphics based
  • the electronic sheet is based on a character grid, and is optimized for text processing and manipulation. Note that a large fraction of conferences are indeed based around textual (including numerical) data, rather than image or graphical data.
  • An additional benefit of using a character-based system is that the data processing and transmission operations are very simple. It is therefore easy to operate the electronic sheet conference across even low bandwidth networks.
  • a further advantage of the simple data flows is that it is straightforward to implement the electronic machine on top of known data conferencing systems, rather than having the difficulty of writing a fully distributed application.
  • the electronic sheet effectively provides users with a sort of blank page designed to handle character and numeric information. It is expected that several users make contributions, typically in different areas of the sheet in parallel, and these are subsequently tidied up using the editing commands.
  • a selected portion is visually highlighted, for example by shading gray or by outlining with a heavy line, and at the users request the grid of cells is shown displayed on the electronic sheet.
  • the available editing operations include both those performed en bloc upon the selected portion of the electronic sheet, for example moving or copying the contents of the selected portion to another location on the electronic sheet, as well as those performed upon the characters contained within the selected portion of the electronic sheet, for example, sorting or aligning the text within the selected portion.
  • the preferred embodiment further comprises means for performing mathematical operations on the characters within the selected portion of the electronic sheet.
  • the ability to perform generally arithmetic computations simply within the electronic sheet application greatly increases the utility of the application, and is particular beneficial when the electronic sheet is being used to work with tabular data.
  • the characters within the electronic sheet are stored in ASCII format.
  • ASCII format This has the advantage of being standard, so that data may be readily exchanged into and out of other programs (for example by the clipboard), and is easy to manipulate and store. It would of course be possible to develop a more extended character set, for example a two-byte set. This would allow a much greater range of characters, for example including mathematical symbols, although it may require special character handling routines if standard string handling routines are no longer applicable.
  • the electronic sheet application is primarily intended for use in a collaborative or conferencing environment, it is possible that some users may want to use it on a stand-alone basis. One reason for doing this might be to prepare material in advance to be imported into a subsequent conference using the electronic sheet application.
  • a computer workstation including:
  • the invention also provides a method of operating a data conferencing system, including at least two computer workstations linked by a data network, said method comprising the steps at each workstation of:
  • the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character
  • FIG. 1 is a simple block diagram of a set of computer workstations which may participate in a data conference;
  • FIG. 2 illustrates the initial screen of the electronic sheet application
  • FIGS. 3A-3E provides a set of examples illustrating some editing operations performed in the electronic sheet application.
  • a group of computer workstations 100 is attached together in a network by a data connection line 150 .
  • Each computer workstation 100 includes a set of conventional devices such as a display device 120 , a pointing device, such as a mouse 130 and a keyboard 140 .
  • the data connection lines may be any known form of link, for example a LAN connection (Token Ring or Ethernet), an ISDN line, and so on.
  • the topology of the data network in FIG. 1 is schematic only, and any suitable network topology may be used.
  • Each user of the conference can display a data file on his or her computer workstation on a screen which is shared between all the users of the data conference.
  • This screen shall be referred to as an electronic sheet.
  • Text can be entered onto the electronic sheet by means of a keyboard 140 , and control commands inputted using the mouse, in the same fashion as for a conventional word-processor.
  • each node or workstation needs to run conferencing software, which distributes any locally performed edits to the other nodes in the conference, and receives information on remotely performed edits and implements these locally.
  • conferencing software is well-known in the art, see for example the above-mentioned paper by Stefik et al, and also the book “IBM Lakes: An Architecture for Collaborative Networking”, R Morgan Publishing, 1994 (ISBN 0-902979-13-2), and so will not be described in detail.
  • serialization In order to maintain consistency of the electronic sheet, it is important that the edits on the electronic sheet are performed in the same order at each workstation (a property known as serialization). Again, many well-known conventional techniques are available to achieve this serialization.
  • One of the simplest is to provide a form of locking by means of a token which circulates around each node of the network in turn.
  • a node can only edit the electronic sheet when in possession of the token.
  • a node receives the token, it retains the token whilst the edit operation is performed, and copied to the other nodes. Then, after confirmation has been received that the other nodes have applied this edit, the node then returns the token to circulation.
  • a potential drawback with this technique is that only one user in the data conference can write on the electronic sheet at a time.
  • FIG. 2 An example of an electronic sheet is shown in FIG. 2 which is a standard windowed application.
  • the screen 200 in FIG. 2 has a conventional title bar 205 for displaying the name of the electronic sheet application (“Squares”), plus also the name of the particular sheet which is currently being displayed (“Paper 1 ”).
  • Either side of the title bar are standard control buttons 210 , 215 for closing (amongst other things) and minimizing the electronic sheet application respectively.
  • Beneath the title bar is a menu bar 230 , which the user selects using the mouse/cursor to perform various actions; these are described in more detail below (a conventional tool bar, customizable by the user, could also be added below the menu bar if desired to allow frequently performed actions to be directly selected).
  • the bulk of the window provides a representation of the electronic sheet itself 250 , which is also described in more detail below.
  • Conventional vertical and horizontal scroll bars 220 , 225 allow the user to move across the electronic sheet, making visible other regions of the sheet (if any) which currently lie outside the window display.
  • conventional status line 240 is used to provide the user with information reflecting the operation being performed.
  • the status line has three components: the first box 242 is used to display the coordinates of opposing corners of a user-selected region within the electronic sheet; the second box is used to display the coordinates of the cursor within the selected region; and the third box is used to display general information about commands or error messages, as is well-known in the art.
  • a key characteristic of the electronic sheet which allows for easier management by the user of the contents of the sheet, is that the sheet is logically divided into a grid pattern of cells. Each cell can contain only one character.
  • the default representation of the electronic sheet 250 includes this grid pattern lightly marked with every fifth row and column of the grid high-lighted (for the sake of clarity, FIG. 2 only shows the row/column high-lighting lines 255 , rather than the complete grid marking).
  • each workstation typically displays the window shown in FIG. 2 .
  • the various operations that can be performed by the user to enter data into the electronic sheet and then edit the data will now be described in relation to a single user. However, it will be remembered that details of these updates are also passed to the data conferencing system, which then distributes them to the other workstations.
  • the electronic sheet application will also receive updates generated by remote users via the data conferencing software, which are applied to the sheet as if they had been generated locally.
  • a user selects a region of interest in the displayed sheet, by marking a rectangular region with the mouse.
  • the mouse is moved to one corner of the region to be selected, and then a mouse button depressed until the cursor has been moved to the opposite corner of the region to be selected, whereupon the mouse button is released.
  • the selected area is high-lighted (marked as a grey box), both actively during the selection process whilst the mouse button is depressed, to provide visual feedback to the user, and also after the selection has been completed.
  • the coordinates of the opposing corners are listed in status box 242 . It will be appreciated that this method of area selection with high-lighting is very well-known in the art.
  • a single mouse click anywhere on the sheet cancels the selection, allowing the user to make a new selection.
  • a double click within the selected area results in a text entry mode for the selected region.
  • This mode allows the user to type text into the selected region, which behaves as a miniature document. Thus text flows onto a new line at the boundary of the region, and carriage control is effective within the confines of the region.
  • Text may either overwrite existing text, or shift it along, depending on whether overwrite or insertion mode is selected.
  • status box 244 is used to display the coordinates of the current cursor position for text entry. Note that it is quite possible that the selected region already contains some text from a previous editing operation.
  • the selected region can be resized by dragging and dropping the edge or corner of the region, in the same way that a window is conventionally re-sized. This is particularly beneficial if the user has underestimated the amount of data to be entered into the selected region.
  • tab stops are set globally (although in a different implementation they could be locally defined). It may be desirable, particularly in the former case, to have some visible indication of the tab positions, for example at the top of the displayed grid, or perhaps having the tab stops coincident with the emphasized grid lines 255 .
  • the region may be moved or copied en bloc in conventional fashion by dragging (with a depressed mouse button) and then dropping in the desired new location. If this operation is performed with the “CTRL” button depressed a copy operation results, otherwise a move operation occurs. Note that any characters within the selected region are similarly moved/copied.
  • a further set of editing operations is available by means of the tool bar. For example, selecting the Edit option offers a menu including the following possibilities:
  • Cut the contents of the selected region are deleted and moved onto the system clipboard
  • Copy the contents of the selected region are copied onto the system clipboard
  • Paste the data stored in the clipboard is copied into the selected region of the electronic sheet. This provides a simple mechanism for text from external wordprocessors, spreadsheets etc to be copied into the electronic sheet;
  • Insert Col/Row a new Column or Row is inserted at the cursor location within the selected region. The contents of the selected region below (to the right of) the inserted row (column) are shifted accordingly;
  • Delete Col/Row an existing Column(s) or Row(s) is removed at the cursor position by deleting its contents, and the remaining contents of the selected region are shifted accordingly.
  • the size of the selected region itself is not affected, and the sheet contents outside the selected region are also unaltered.
  • the insert operation if the data no longer fits within the selected region, an error message is returned. A similar error message is returned for example if the user tries to paste text data into too small a selected region.
  • Selecting the Format option on the tool bar provides a menu including the following possibilities:
  • the Arrange option on the tool bar provides the following possible actions:
  • Sort this allows sorting each line in the selected region in ascending or descending order, potentially using a variety of criteria, such as sorting on multiple fields;
  • Wordflow this word flows the text contents within the selected region (in other words, treating the region as continuous text, there are no word breaks at the end of a line, but rather the word is dropped into the next line).
  • Compress this replaces multiple contiguous blank spaces with a single blank space, shifting the remaining data accordingly in the requested direction;
  • Align this aligns the contents of the selected region to the specified boundary; (another embodiment might provide some form of centering);
  • Compress Align and Squash options are associated with a selected direction (ie top, bottom, left or right).
  • the File option allows the contents of the current electronic sheet to be saved to disk as a file, or the contents of a previously saved sheet to be loaded into the current electronic sheet.
  • the Options selection on the tool bar includes the following possibilities:
  • Font sets a font for displaying the text on the electronic sheet
  • Grid determines whether or not to display the grid lines (might also be used to control whether every fifth row/column is highlighted etc);
  • each character in the electronic sheet is represented by a single ASCII character, and so has no room for associated font information.
  • this can be retained effectively as a display option, so that when the contents of the electronic sheet are displayed on the screen, the desired font is used for the entire sheet. It may be decided not to distribute font updates to other workstations in the data conference, so that each user may view the sheet in their own selected font.
  • One reason for this being sensible is that the different workstations may not all be equipped with the same fonts.
  • the Grid option it is a matter of design choice whether each individual user can select their own grid pattern, or whether a single grid pattern is shared between all users (so that any update affects all users).
  • character data may be rapidly re-arranged, lists produced, broken apart or combined. Data can be gathered from all over the sheet, whilst different regions can be treated as mini-documents. Formatting is made much more straightforward by the underlying rectangular character array.
  • the electronic sheet application retains no record of the region itself. Instead, the application returns to the state in which a new region may be selected, although obviously the text contents within the region are retained as part of the overall electronic sheet.
  • An alternative embodiment might be provided in which a sequence of operations all relate to the same selected region, until that selected region is deselected, either explicitly (eg by a specific tool bar action) or implicitly (eg by deleting it).
  • no other user is allowed to operate on a region which has been selected by another user.
  • the relevant coordinates are passed to the conferencing software, and distributed to the other nodes in the conference.
  • These then provide a visual indication of the regions that have been selected by remote users (eg by cross-hatching). Any attempt by the local user to select all or part of such a region (or move a currently selected region into such a region) is forbidden, and results in an error message. Note that the simultaneous selection of the same region by two different users can be prevented by an appropriate serialization mechanism, so that only the first user is successful.
  • the de-selection of an area after each single operation helps to prevent any one user in the conference from monopolizing a given portion of the electronic sheet for too long.
  • FIGS. 3A-3E examples of the electronic sheet in the preferred embodiment will be described.
  • an electronic sheet 300 is shown, minus the conventional scroll bars, tool bar etc. It is divided into rectangular cells, each cell containing no more than one character.
  • grid lines 310 are visible for helping the user activities and one grid line 320 every five is highlighted (a slightly different form of high-lighting from that of FIG. 2 is shown). It will be appreciated that displaying the grid and/or the high-lighted lines is optional. Some text data is displayed on the sheet 300 .
  • FIG. 3B the text entry mode of the electronic sheet is shown.
  • the user has selected an area 330 of interest as described above, which is high-lighted by shading.
  • a cursor (not shown) is displayed in the region 330 , indicating the cell into which the following entered character will be inserted.
  • the letter “G” has been inputted into the selected area (or alternatively it was already there prior to the area being selected).
  • FIGS. 3C, 3 D and 3 E show three states representing an example of an editing operation to re-arrange data, respectively an initial, an intermediate and a final state.
  • the task being performed in this sequence is to assign the displayed names to two lists and tidy up the result.
  • In the initial state (FIG. 3C) areas are highlighted one by one, and dragged roughly into a new position, for example as shown by the arrows.
  • region 350 is moved in accordance with arrow 360
  • region 352 is moved in accordance with arrow 362
  • regions 354 and 356 are moved in accordance with arrows 364 and 366 respectively.
  • any one user can only select a single region at any given time, so this would represent four select/move operations performed in turn by one user.
  • select/move operations could be performed in parallel by different users in the data conference.
  • FIG. 3D shows the result of the operations described with reference to FIG. 3 C.
  • Two new areas 370 and 375 have now been selected, and for each region, the user performs an alignment to the left of the region, a compression to the top of the region, and a sort in descending order.
  • the result of these operations is shown in FIG. 3 E.
  • the user must perform (for example) a select/align operation, a select/compress operation, and then a select/sort operation.
  • Two users may operate simultaneously on the two different lists of names.
  • the electronic sheet application is implemented in terms of two basic components, firstly a graphical user interface, and secondly an underlying data storage/manipulation component.
  • the former may be readily implemented using the Visual Basic product, available from Microsoft Corporation. This allows the standard window features shown in FIG. 2 to be easily provided, together with mouse area selection, highlighting etc.
  • the actual data file associated with the character information on the electronic sheet is stored as a simple ASCII file.
  • An early prototype implementation used a square character matrix for storing this information, but this was subsequently replaced by a set of character strings, each representing one line in the electronic sheet. This is because string handling operations are generally relatively quick in most computer environments. A consequence of this is that the electronic sheet handles horizontal manipulations more quickly than vertical manipulations; however, the majority of manipulations fall into the former category, this being the normal direction of reading and writing.
  • the application In addition to the ASCII data file containing the contents of the electronic sheet, the application also maintains various information such as the coordinates of any locally selected area, any remotely selected areas, the cursor position, etc. With this information, it is then straightforward to interpret any edit operation in terms of manipulation of the ASCII data file representing the electronic sheet, and/or the coordinates of the selected regions. For example, the above-described Align operation simply shifts the location of the appropriate characters within the ASCII data file until they are adjacent the boundary of the selected area.
  • the electronic sheet application needs to interact with the conferencing software. Effectively this only involves transmitting (i) updates to the ASCII data file containing the sheet contents, and (ii) coordinates of each newly selected (or deselected) area. Corresponding data will of course be received from other nodes.
  • the remotely generated updates to the ASCII data file are simply applied to the local data, and then reflected on the displayed electronic sheet.
  • the coordinates of the remotely selected areas are stored, to prevent the local user from selecting or intruding into them, and also displayed on the electronic sheet to provide a visual warning of this fact.
  • the electronic sheet is character based, the actual data flow between the different workstations in the data conference is very low. Similarly, notification of selected/deselected regions can be transmitted very economically. Thus it is feasible to operate the electronic sheet over very low bandwidth lines, which may not be able to support a full conferencing chalkboard. Further, if the data network is one which charges according to actual data flow, use of the shared electronic sheet will be a very inexpensive option.
  • the electronic sheet has been described hitherto primarily in relation to a collaborative environment, but there is no reason why it cannot be used as a standalone product. In this case, the only difference is that edits generated by the user will not be distributed to any other workstations.
  • a single user is generally likely to prefer the more powerful capabilities of a conventional word processor or spreadsheet, but the combined simplicity and power of the electronic sheet may prove attractive in some circumstances.

Abstract

A data conferencing system includes at least two computer workstations linked by a data network. Each computer workstation is able to store and display an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character. A user can select a portion of the electronic sheet, a portion comprising at least one cell, and then perform different editing operations on the selected portion of the electronic sheet. Updates resulting from editing the electronic sheet are then distributed to the other computer workstations in the data conferencing system, so that all the workstations in the data conferencing system share the same electronic sheet.

Description

FIELD OF THE INVENTION
The invention relates to a data conferencing system including at least two computer workstations linked by a data network.
BACKGROUND OF THE INVENTION
Nowadays the users of data processing systems have an increased need of real-time interaction with the users of other systems. For instance, projects due to their complexity are developed by one or more groups of people who can be located in different places causing difficulties in arranging meetings among them.
Typically desk top conferencing is used to allow the needed interaction, which normally includes data collaboration facilities, supplemented by basic audio and video exchange.
The most common real-time data capability is the chalkboard or whiteboard which provides an ability either to exchange basic drawings or to annotate a base image. Such a system is described for example in “Beyond the Chalkboard: Computer Support for Collaboration and Problem Solving in Meetings” by M Stefik, G Foster, D Bobrow, K Kahn, S Lanning and L Suchman, p32-47 in Computing Practices, Communications of the ACM, Vol 30, Number 1, January 1987. Extensions to the basic graphic chalkboard facilities frequently include some support for adding text information through marker pen support or text entry and edit. Typical examples of the kind of information and associated analysis might be: ranking of employee performances on multiple criteria, exploring sales data, preliminary project costings, and so on. However, the essence of a chalkboard is freeform drawing on a blank sheet of paper or a previously retrieved image and a characteristic of the computer chalkboard is that it is optimized for graphic exchanges through its simulation of the conventional physical chalkboard. Consequently, when the shared user information is purely character or numeric, difficulties may arise because these characteristics of the chalkboard are not designed for the easy handling of textual data. Thus there is generally very little support for users to efficiently manipulate text using a mouse or marker pen across the chalkboard.
Other systems which provided a data sharing facility are disclosed in EP-A-0550370 and EP-A-0550374.
Conventional spreadsheets typically provide the users with facilities able to handle such coded textual or numeric data, but they do not map well into the informal collaborative environment. This is principally because the visible contents are often linked by an invisible set of equations, which may only be known or understood by the originator of the spreadsheet. It is therefore very hard to look at an arbitrary spreadsheet document and manipulate the data in a collaborative working environment without understanding these hidden relationships.
Also known in the prior art is a remote access program, such as the NetView Distributed Console Access Facility (DCAF) product available from IBM Corporation, which allows a user to access a computer of a remote user whilst the remote user is working on it. In this case both users can share all the data, the programs and the environment of the remote computer. However, the user who accesses the remote computer might have to work in an unknown environment, maybe using an unknown wordprocessor. Moreover such a remote access program is not really appropriate for a peer to peer conferencing or collaborative working environment.
OBJECTS OF THE INVENTION
Hence, it is an object of the present invention to provide a data processing system for allowing users to interact simultaneously on shared data, particularly character-based data.
BRIEF SUMMARY OF THE INVENTION
Accordingly the present invention provides a data conferencing system, including at least two computer workstations linked by a data network, each computer workstation including:
means for storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character;
means to enable a user to select a portion of the electronic sheet, a portion comprising at least one cell;
means, responsive to a user input, for editing the selected portion of the electronic sheet; and
means for distributing updates resulting from editing the electronic sheet to the other computer workstations in the data conferencing system, such that all the workstations in the data conferencing system share the same electronic sheet.
The electronic sheet is somewhat similar to the chalkboard, in that it too is designed to simulate a conventional chalkboard in a desktop conferencing environment, allowing different users to freely input and edit data across the electronic sheet. However, whilst the chalkboard is graphics based, the electronic sheet is based on a character grid, and is optimized for text processing and manipulation. Note that a large fraction of conferences are indeed based around textual (including numerical) data, rather than image or graphical data. An additional benefit of using a character-based system is that the data processing and transmission operations are very simple. It is therefore easy to operate the electronic sheet conference across even low bandwidth networks. A further advantage of the simple data flows is that it is straightforward to implement the electronic machine on top of known data conferencing systems, rather than having the difficulty of writing a fully distributed application.
The electronic sheet effectively provides users with a sort of blank page designed to handle character and numeric information. It is expected that several users make contributions, typically in different areas of the sheet in parallel, and these are subsequently tidied up using the editing commands.
In the preferred embodiment, a selected portion is visually highlighted, for example by shading gray or by outlining with a heavy line, and at the users request the grid of cells is shown displayed on the electronic sheet. The available editing operations include both those performed en bloc upon the selected portion of the electronic sheet, for example moving or copying the contents of the selected portion to another location on the electronic sheet, as well as those performed upon the characters contained within the selected portion of the electronic sheet, for example, sorting or aligning the text within the selected portion.
The preferred embodiment further comprises means for performing mathematical operations on the characters within the selected portion of the electronic sheet. The ability to perform generally arithmetic computations simply within the electronic sheet application greatly increases the utility of the application, and is particular beneficial when the electronic sheet is being used to work with tabular data.
It is preferred that once a user has selected a portion of the electronic sheet, users at other workstations are prevented from selecting the same portion of the electronic sheet. The advantage of effectively locking a selected area is that it precludes the confusion that might otherwise arise if two different users were to try to perform possibly conflicting operations simultaneously within the same region. Note however that different users may still operate in parallel on different regions of the sheet, so that this approach is more efficient than locking the entire electronic sheet, each time a user wants to perform an edit operation. Clearly it is the responsibility of the users that the areas which they select are no bigger than necessary for their intended operation, thereby retaining the maximum available space for the other users in the data conference. Similarly, they should perform their intended operation as quickly as possible. Note that in the preferred embodiment, the selected region is deselected after each editing operation, thereby maximizing the accessibility of all regions of the sheet to the data conference participants.
In the preferred embodiment, the characters within the electronic sheet are stored in ASCII format. This has the advantage of being standard, so that data may be readily exchanged into and out of other programs (for example by the clipboard), and is easy to manipulate and store. It would of course be possible to develop a more extended character set, for example a two-byte set. This would allow a much greater range of characters, for example including mathematical symbols, although it may require special character handling routines if standard string handling routines are no longer applicable.
Although the electronic sheet application is primarily intended for use in a collaborative or conferencing environment, it is possible that some users may want to use it on a stand-alone basis. One reason for doing this might be to prepare material in advance to be imported into a subsequent conference using the electronic sheet application. Thus the invention further provides a computer workstation including:
means for storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character;
means to enable a user to select a portion of the electronic sheet, a portion comprising at least one cell; and
means, responsive to a user input, for editing the selected portion of the electronic sheet.
The invention also provides a method of operating a data conferencing system, including at least two computer workstations linked by a data network, said method comprising the steps at each workstation of:
storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain a single character;
selecting, responsive to user input, a portion of the electronic sheet, a portion comprising at least one cell;
editing, responsive to a user input, the selected portion of the electronic sheet; and
distributing updates resulting from editing the electronic sheet to the other computer workstations in the data conferencing system, such that all the workstations in the data conferencing system share the same electronic sheet.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be described further, by way of example only, with reference to an embodiment thereof as illustrated in the accompanying drawings in which:
FIG. 1 is a simple block diagram of a set of computer workstations which may participate in a data conference;
FIG. 2 illustrates the initial screen of the electronic sheet application; and
FIGS. 3A-3E provides a set of examples illustrating some editing operations performed in the electronic sheet application.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
With reference to FIG. 1, a group of computer workstations 100 is attached together in a network by a data connection line 150. Each computer workstation 100 includes a set of conventional devices such as a display device 120, a pointing device, such as a mouse 130 and a keyboard 140. Such workstations are well-known in the art, and will not be described further. Likewise, the data connection lines may be any known form of link, for example a LAN connection (Token Ring or Ethernet), an ISDN line, and so on. Similarly the topology of the data network in FIG. 1 is schematic only, and any suitable network topology may be used.
Each user of the conference can display a data file on his or her computer workstation on a screen which is shared between all the users of the data conference. This screen shall be referred to as an electronic sheet. Text can be entered onto the electronic sheet by means of a keyboard 140, and control commands inputted using the mouse, in the same fashion as for a conventional word-processor.
A copy of the same electronic sheet exists locally at each workstation, thereby allowing its contents to be viewed by all the users. Thus when a user modifies their own copy, this modification is propagated by the system to each attached workstation. In order to achieve this, each node or workstation needs to run conferencing software, which distributes any locally performed edits to the other nodes in the conference, and receives information on remotely performed edits and implements these locally. Such conferencing software is well-known in the art, see for example the above-mentioned paper by Stefik et al, and also the book “IBM Lakes: An Architecture for Collaborative Networking”, R Morgan Publishing, 1994 (ISBN 0-902979-13-2), and so will not be described in detail.
In order to maintain consistency of the electronic sheet, it is important that the edits on the electronic sheet are performed in the same order at each workstation (a property known as serialization). Again, many well-known conventional techniques are available to achieve this serialization. One of the simplest is to provide a form of locking by means of a token which circulates around each node of the network in turn. A node can only edit the electronic sheet when in possession of the token. Thus when a node receives the token, it retains the token whilst the edit operation is performed, and copied to the other nodes. Then, after confirmation has been received that the other nodes have applied this edit, the node then returns the token to circulation. A potential drawback with this technique is that only one user in the data conference can write on the electronic sheet at a time. An alternative approach to serialization is for all updates to be sent initially to a single node, which orders them before distribution to the remaining nodes. Yet another possible approach is described in patent application GB 9425429.9, filed Dec. 16, 1994 and entitled “Data Conferencing Network” (IBM docket UK9-94-025).
An example of an electronic sheet is shown in FIG. 2 which is a standard windowed application. The screen 200 in FIG. 2 has a conventional title bar 205 for displaying the name of the electronic sheet application (“Squares”), plus also the name of the particular sheet which is currently being displayed (“Paper 1”). Either side of the title bar are standard control buttons 210, 215 for closing (amongst other things) and minimizing the electronic sheet application respectively. Beneath the title bar is a menu bar 230, which the user selects using the mouse/cursor to perform various actions; these are described in more detail below (a conventional tool bar, customizable by the user, could also be added below the menu bar if desired to allow frequently performed actions to be directly selected). The bulk of the window provides a representation of the electronic sheet itself 250, which is also described in more detail below. Conventional vertical and horizontal scroll bars 220, 225 allow the user to move across the electronic sheet, making visible other regions of the sheet (if any) which currently lie outside the window display. Finally, conventional status line 240 is used to provide the user with information reflecting the operation being performed. In particular, the status line has three components: the first box 242 is used to display the coordinates of opposing corners of a user-selected region within the electronic sheet; the second box is used to display the coordinates of the cursor within the selected region; and the third box is used to display general information about commands or error messages, as is well-known in the art.
A key characteristic of the electronic sheet, which allows for easier management by the user of the contents of the sheet, is that the sheet is logically divided into a grid pattern of cells. Each cell can contain only one character. The default representation of the electronic sheet 250 includes this grid pattern lightly marked with every fifth row and column of the grid high-lighted (for the sake of clarity, FIG. 2 only shows the row/column high-lighting lines 255, rather than the complete grid marking).
The operation of the electronic sheet will be now discussed. It is assumed that each user in the network of workstations of FIG. 1 is already running the necessary data conferencing software. As described in the aforementioned book on the IBM Lakes data conferencing architecture, the user at any one workstation may call one or more users at the other workstations, indicating that they wish to include the shared electronic sheet in the call. As a result of this, the electronic sheet application is launched at each called workstation, as well as at the calling workstation (alternatively, the electronic sheet could actually be incorporated into the data conferencing software).
Once the electronic sheet application is running at each workstation, initially each workstation typically displays the window shown in FIG. 2. The various operations that can be performed by the user to enter data into the electronic sheet and then edit the data will now be described in relation to a single user. However, it will be remembered that details of these updates are also passed to the data conferencing system, which then distributes them to the other workstations. Likewise, the electronic sheet application will also receive updates generated by remote users via the data conferencing software, which are applied to the sheet as if they had been generated locally.
Working on the screen shown in FIG. 2, a user selects a region of interest in the displayed sheet, by marking a rectangular region with the mouse. Thus the mouse is moved to one corner of the region to be selected, and then a mouse button depressed until the cursor has been moved to the opposite corner of the region to be selected, whereupon the mouse button is released. Note that a single click of the mouse button whilst the mouse is stationary will simply select the cell in which the cursor is currently located. The selected area is high-lighted (marked as a grey box), both actively during the selection process whilst the mouse button is depressed, to provide visual feedback to the user, and also after the selection has been completed. In addition to the high-lighting, as previously mentioned, the coordinates of the opposing corners are listed in status box 242. It will be appreciated that this method of area selection with high-lighting is very well-known in the art.
Once a particular area has been selected, a single mouse click anywhere on the sheet cancels the selection, allowing the user to make a new selection. Alternatively, a double click within the selected area results in a text entry mode for the selected region. This mode allows the user to type text into the selected region, which behaves as a miniature document. Thus text flows onto a new line at the boundary of the region, and carriage control is effective within the confines of the region. As text is entered into the selected region, it is displayed on the screen in conventional fashion. Text may either overwrite existing text, or shift it along, depending on whether overwrite or insertion mode is selected. As mentioned above, status box 244 is used to display the coordinates of the current cursor position for text entry. Note that it is quite possible that the selected region already contains some text from a previous editing operation.
While in text input mode, the selected region can be resized by dragging and dropping the edge or corner of the region, in the same way that a window is conventionally re-sized. This is particularly beneficial if the user has underestimated the amount of data to be entered into the selected region.
The only awareness within the selected region of the rest of the sheet during text input mode in the preferred embodiment is that tab stops are set globally (although in a different implementation they could be locally defined). It may be desirable, particularly in the former case, to have some visible indication of the tab positions, for example at the top of the displayed grid, or perhaps having the tab stops coincident with the emphasized grid lines 255.
After the desired text has been entered, the user clicks once on the electronic sheet outside the selected area, and this ends the text entry mode and returns the application to the state of waiting for another region to be selected. Alternatively, the user may exit from the text entry mode by hitting Enter (a new line is started in text entry by Shift-Enter).
Discussing now the other editing operations that can be performed on a selected region of the electronic sheet, the region may be moved or copied en bloc in conventional fashion by dragging (with a depressed mouse button) and then dropping in the desired new location. If this operation is performed with the “CTRL” button depressed a copy operation results, otherwise a move operation occurs. Note that any characters within the selected region are similarly moved/copied.
A further set of editing operations is available by means of the tool bar. For example, selecting the Edit option offers a menu including the following possibilities:
Undo: the electronic sheet contents are returned to their state before the issuing of the last user command;
Repeat: the last user command is repeated;
Cut: the contents of the selected region are deleted and moved onto the system clipboard;
Copy: the contents of the selected region are copied onto the system clipboard;
Paste: the data stored in the clipboard is copied into the selected region of the electronic sheet. This provides a simple mechanism for text from external wordprocessors, spreadsheets etc to be copied into the electronic sheet;
Delete: the contents of the selected region are deleted;
Insert Col/Row: a new Column or Row is inserted at the cursor location within the selected region. The contents of the selected region below (to the right of) the inserted row (column) are shifted accordingly;
Delete Col/Row: an existing Column(s) or Row(s) is removed at the cursor position by deleting its contents, and the remaining contents of the selected region are shifted accordingly.
Note that for the final two operations, the size of the selected region itself is not affected, and the sheet contents outside the selected region are also unaltered. For the insert operation, if the data no longer fits within the selected region, an error message is returned. A similar error message is returned for example if the user tries to paste text data into too small a selected region.
Selecting the Format option on the tool bar provides a menu including the following possibilities:
Capitals: this converts the text within the selected region to capitals, or vice versa;
Calculate: this can be used to either sum a column of numbers in a list, or to evaluate an expression. In either case the result is placed on the system clipboard, for pasting elsewhere onto the electronic sheet.
The provision of simple calculating facilities, typically to provide basic arithmetic functions, greatly assists if working with numerical data. Note however that unlike a spreadsheet, there are no hidden expressions which automatically apply to the data. Thus the sheet adopts a simple WYSIWYG (“what you see is what you get” approach), which is most appropriate for a collaborative environment. Of course, it would still be possible to have some macro capability to store frequently used computational expressions, so that they may be more easily invoked.
The Arrange option on the tool bar provides the following possible actions:
Sort: this allows sorting each line in the selected region in ascending or descending order, potentially using a variety of criteria, such as sorting on multiple fields;
Wordflow: this word flows the text contents within the selected region (in other words, treating the region as continuous text, there are no word breaks at the end of a line, but rather the word is dropped into the next line).
Compress: this replaces multiple contiguous blank spaces with a single blank space, shifting the remaining data accordingly in the requested direction;
Squash: this is similar to Compress, but removes all blanks spaces from the selected region by shifting the data in the requested direction;
Align: this aligns the contents of the selected region to the specified boundary; (another embodiment might provide some form of centering);
Note that the Compress, Align and Squash options are associated with a selected direction (ie top, bottom, left or right).
Other options on the tool bar 230 are not necessarily tied to a particular area. For example the File option allows the contents of the current electronic sheet to be saved to disk as a file, or the contents of a previously saved sheet to be loaded into the current electronic sheet. The Options selection on the tool bar includes the following possibilities:
Font: sets a font for displaying the text on the electronic sheet;
Grid: determines whether or not to display the grid lines (might also be used to control whether every fifth row/column is highlighted etc);
It will be noted that the Font option applies to the whole electronic sheet. The reason for this is that in the preferred embodiment, each character in the electronic sheet is represented by a single ASCII character, and so has no room for associated font information. However, this can be retained effectively as a display option, so that when the contents of the electronic sheet are displayed on the screen, the desired font is used for the entire sheet. It may be decided not to distribute font updates to other workstations in the data conference, so that each user may view the sheet in their own selected font. One reason for this being sensible is that the different workstations may not all be equipped with the same fonts. Similarly, with respect to the Grid option, it is a matter of design choice whether each individual user can select their own grid pattern, or whether a single grid pattern is shared between all users (so that any update affects all users).
Overall, the various available options provide a powerful set of tools for efficiently manipulating the contents of the electronic sheet. Thus character data may be rapidly re-arranged, lists produced, broken apart or combined. Data can be gathered from all over the sheet, whilst different regions can be treated as mini-documents. Formatting is made much more straightforward by the underlying rectangular character array.
It will be appreciated that the present invention primarily derives from the underlying structure of the electronic sheet. In contrast, the majority of the edit operations that can be performed on the electronic sheet are fairly standard per se. The skilled person will easily conceive of operations in addition to those listed above (or modifications of the listed operations).
It is important to note that after a particular operation has been performed on or within the selected region (with the exception of simply moving/copying the selected region), the electronic sheet application retains no record of the region itself. Instead, the application returns to the state in which a new region may be selected, although obviously the text contents within the region are retained as part of the overall electronic sheet. An alternative embodiment might be provided in which a sequence of operations all relate to the same selected region, until that selected region is deselected, either explicitly (eg by a specific tool bar action) or implicitly (eg by deleting it).
In the preferred embodiment, no other user is allowed to operate on a region which has been selected by another user. Thus after each area selection, the relevant coordinates are passed to the conferencing software, and distributed to the other nodes in the conference. These then provide a visual indication of the regions that have been selected by remote users (eg by cross-hatching). Any attempt by the local user to select all or part of such a region (or move a currently selected region into such a region) is forbidden, and results in an error message. Note that the simultaneous selection of the same region by two different users can be prevented by an appropriate serialization mechanism, so that only the first user is successful.
It will be appreciated that with the exclusion of others from a selected area, as in the preferred embodiment, the de-selection of an area after each single operation (which is also part of the preferred embodiment) helps to prevent any one user in the conference from monopolizing a given portion of the electronic sheet for too long.
Referring now to FIGS. 3A-3E, examples of the electronic sheet in the preferred embodiment will be described. In FIG. 3A an electronic sheet 300 is shown, minus the conventional scroll bars, tool bar etc. It is divided into rectangular cells, each cell containing no more than one character. In this example grid lines 310 are visible for helping the user activities and one grid line 320 every five is highlighted (a slightly different form of high-lighting from that of FIG. 2 is shown). It will be appreciated that displaying the grid and/or the high-lighted lines is optional. Some text data is displayed on the sheet 300.
In FIG. 3B the text entry mode of the electronic sheet is shown. The user has selected an area 330 of interest as described above, which is high-lighted by shading. For text entry, a cursor (not shown) is displayed in the region 330, indicating the cell into which the following entered character will be inserted. As shown in FIG. 3B, so far the letter “G” has been inputted into the selected area (or alternatively it was already there prior to the area being selected).
FIGS. 3C, 3D and 3E show three states representing an example of an editing operation to re-arrange data, respectively an initial, an intermediate and a final state. The task being performed in this sequence is to assign the displayed names to two lists and tidy up the result. In the initial state (FIG. 3C) areas are highlighted one by one, and dragged roughly into a new position, for example as shown by the arrows. Thus region 350 is moved in accordance with arrow 360, region 352 is moved in accordance with arrow 362, and regions 354 and 356 are moved in accordance with arrows 364 and 366 respectively. It will be appreciated that any one user can only select a single region at any given time, so this would represent four select/move operations performed in turn by one user. Of course, alternatively different select/move operations could be performed in parallel by different users in the data conference.
FIG. 3D shows the result of the operations described with reference to FIG. 3C. Two new areas 370 and 375 have now been selected, and for each region, the user performs an alignment to the left of the region, a compression to the top of the region, and a sort in descending order. The result of these operations is shown in FIG. 3E. Again, it will be appreciated that to achieve this the user must perform (for example) a select/align operation, a select/compress operation, and then a select/sort operation. Two users may operate simultaneously on the two different lists of names.
The electronic sheet application is implemented in terms of two basic components, firstly a graphical user interface, and secondly an underlying data storage/manipulation component. The former may be readily implemented using the Visual Basic product, available from Microsoft Corporation. This allows the standard window features shown in FIG. 2 to be easily provided, together with mouse area selection, highlighting etc. The actual data file associated with the character information on the electronic sheet is stored as a simple ASCII file. An early prototype implementation used a square character matrix for storing this information, but this was subsequently replaced by a set of character strings, each representing one line in the electronic sheet. This is because string handling operations are generally relatively quick in most computer environments. A consequence of this is that the electronic sheet handles horizontal manipulations more quickly than vertical manipulations; however, the majority of manipulations fall into the former category, this being the normal direction of reading and writing.
In addition to the ASCII data file containing the contents of the electronic sheet, the application also maintains various information such as the coordinates of any locally selected area, any remotely selected areas, the cursor position, etc. With this information, it is then straightforward to interpret any edit operation in terms of manipulation of the ASCII data file representing the electronic sheet, and/or the coordinates of the selected regions. For example, the above-described Align operation simply shifts the location of the appropriate characters within the ASCII data file until they are adjacent the boundary of the selected area.
Additionally, the electronic sheet application needs to interact with the conferencing software. Effectively this only involves transmitting (i) updates to the ASCII data file containing the sheet contents, and (ii) coordinates of each newly selected (or deselected) area. Corresponding data will of course be received from other nodes. The remotely generated updates to the ASCII data file are simply applied to the local data, and then reflected on the displayed electronic sheet. The coordinates of the remotely selected areas are stored, to prevent the local user from selecting or intruding into them, and also displayed on the electronic sheet to provide a visual warning of this fact.
Because the electronic sheet is character based, the actual data flow between the different workstations in the data conference is very low. Similarly, notification of selected/deselected regions can be transmitted very economically. Thus it is feasible to operate the electronic sheet over very low bandwidth lines, which may not be able to support a full conferencing chalkboard. Further, if the data network is one which charges according to actual data flow, use of the shared electronic sheet will be a very inexpensive option.
While the preferred embodiment uses ASCII data to store the contents of the electronic sheet, another embodiment might adopt a different character set. For example, allocating two-byte storage would allow a much greater range of symbols to be used to represent non-literal characters, such as mathematical symbols (of course two-byte storage would be the norm for countries, such as Japan, whose language effectively has a very large alphabet). Note however that even if a wider range of symbols is provided, the underlying grid still exists, restricting the size and precise location of the characters. If it is desired to allow free-form annotation of the electronic sheet, this is probably best accomplished by use of a two-plane system, in which a conventional free-form chalkboard is superimposed onto the electronic sheet, which would provide great flexibility overall.
The electronic sheet has been described hitherto primarily in relation to a collaborative environment, but there is no reason why it cannot be used as a standalone product. In this case, the only difference is that edits generated by the user will not be distributed to any other workstations. A single user is generally likely to prefer the more powerful capabilities of a conventional word processor or spreadsheet, but the combined simplicity and power of the electronic sheet may prove attractive in some circumstances. Of course, it is quite probable that a user may want to use the electronic sheet on an individual basis, in.order to prepare a sheet which is subsequently to be discussed in a data conference.

Claims (16)

Therefore, what is intended to be protected by Letters Patent is described in the appended claims which follow by way of example and not by way of limitation, wherefore what is claimed is:
1. A data conferencing system, including at least two computer workstations linked by a data network, each computer workstation including:
means for storing and displaying an electronic sheet, said electronic sheet being logically divided into a grid of cells, each cell being able to contain no more than a single character;
means to enable a user to select a portion of said electronic sheet, said portion comprising at least one cell;
means, responsive to a user input, for editing said selected portion of said electronic sheet; and
means for distributing updates resulting from editing said electronic sheet to the other computer workstations in the data conferencing system, such that all the workstations in the data conferencing system share the same said electronic sheet.
2. The data conferencing system of claim 1, further comprising means responsive to a user's request to display said grid of cells on said electronic sheet.
3. The data conferencing system of claim 1, further comprising means for visually highlighting said selected portion of said electronic sheet.
4. The data conferencing system of claim 2, further comprising means for visually highlighting said selected portion of said electronic sheet.
5. The data conferencing system as in any of preceding claims 1-4 wherein said means for editing includes means for operations performed en bloc upon said selected portion of said electronic sheet.
6. The data conferencing system as in any of claims 1-4, wherein said editing means includes means for operations performed upon the characters contained within said selected portion of said electronic sheet.
7. The data conferencing system of claim 5, further comprising means for performing mathematical operations on said characters within said selected portion of said electronic sheet.
8. The data conferencing system of claim 6, further comprising means for performing mathematical operations on said characters within said selected portion of said electronic sheet.
9. The data conferencing system of any of claims 1-4, further comprising means responsive to a user selection of a portion of said electronic sheet for preventing users at other workstations from selecting said same portion of said electronic sheet.
10. The data conferencing system of claim 5, further comprising means responsive to a user selection of a portion of said electronic sheet for preventing users at other workstations from selecting said same portion of said electronic sheet.
11. The data conferencing system of claim 6, further comprising means responsive to a user selection of a portion of said electronic sheet for preventing users at other workstations from selecting said same portion of said electronic sheet.
12. The data conferencing system of claim 10, further comprising means for performing mathematical operations on said characters within said selected portion of said electronic sheet.
13. The data conferencing system of claim 11, further comprising means for performing mathematical operations on the characters within said selected portion of said electronic sheet.
14. The data conferencing system of any of claims 1-4, wherein the characters within said electronic sheet are stored in ASCII format.
15. A computer workstation including:
means for storing and displaying an electronic sheet, said electronic sheet being logically divided into a set of cells, each said cell being able to contain no more than a single character;
means to enable a user to select a portion of said electronic sheet, said portion comprising at least one said cell; and
means, responsive to a user input, for editing said selected portion of said electronic sheet.
16. A method of operating a data conferencing system, including at least two computer workstations linked by a data network, said method comprising the steps at each workstation of:
storing and displaying an electronic sheet, the electronic sheet being logically divided into a set of cells, each cell being able to contain no more than a single character;
selecting, responsive to user input, a portion of the electronic sheet, a portion comprising at least one cell;
editing, responsive to a user input, the selected portion of the electronic sheet; and
distributing updates resulting from editing the electronic sheet to the other computer workstations in the data conferencing system, such that all the workstations in the data conferencing system share the same electronic sheet.
US08/678,781 1995-07-29 1996-07-11 Data conferencing system with distributed electronic sheet Expired - Fee Related US6610102B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9515602 1995-07-29
GB9515602A GB2303946A (en) 1995-07-29 1995-07-29 Data conferencing system

Publications (1)

Publication Number Publication Date
US6610102B1 true US6610102B1 (en) 2003-08-26

Family

ID=10778488

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/678,781 Expired - Fee Related US6610102B1 (en) 1995-07-29 1996-07-11 Data conferencing system with distributed electronic sheet

Country Status (3)

Country Link
US (1) US6610102B1 (en)
GB (1) GB2303946A (en)
WO (1) WO1997005554A1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020049784A1 (en) * 2000-10-24 2002-04-25 Internatonal Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US20020198938A1 (en) * 2001-04-24 2002-12-26 Fujitsu Limited Display engagement system
US20030156137A1 (en) * 2002-02-21 2003-08-21 Hartwig Von Essen Method for selecting and representing objects in a plane and in N-dimensional space
US20040017400A1 (en) * 2002-07-26 2004-01-29 Ly Eric Thichvi Method for project planning
US20070112881A1 (en) * 2005-11-15 2007-05-17 International Business Machines Corporation Meeting invitation and group distribution list synchronization
US20070252804A1 (en) * 2003-05-16 2007-11-01 Engel Gabriel D Display Control System
US20080015957A1 (en) * 2000-09-19 2008-01-17 Shunichi Mukai Product Purchase System, Product Purchase Method, a Storage Medium for Storing a Program for Executing the Product Purchasing Method, and a Server Used Therefor
US20080229184A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Private sheets in shared spreadsheets
US20090037803A1 (en) * 2000-10-24 2009-02-05 International Business Machines Corporation System in an electronic spreadsheet for persistently self-replicating multiple ranges of cells through a copy-paste operation and a self-replication table
US20090070709A1 (en) * 2001-09-11 2009-03-12 Pure Depth Limited Improvement to instrumentation
US20090231350A1 (en) * 2008-03-12 2009-09-17 Andrew Gary Hourselt Apparatus and methods for displaying a physical view of a device
US20090234894A1 (en) * 2008-03-12 2009-09-17 International Business Machines Corporation Method and system for collaborative learning
US20090249331A1 (en) * 2008-03-31 2009-10-01 Mark Charles Davis Apparatus, system, and method for file system sharing
US7624339B1 (en) * 1999-08-19 2009-11-24 Puredepth Limited Data display for multiple layered screens
US7724208B1 (en) 1999-08-19 2010-05-25 Puredepth Limited Control of depth movement for visual display with layered screens
US7730413B1 (en) 1999-08-19 2010-06-01 Puredepth Limited Display method for multiple layered screens
US8120547B2 (en) 2001-05-01 2012-02-21 Puredepth Limited Information display
US20120072559A1 (en) * 2010-09-22 2012-03-22 Alzamil Abdullah Abdulrhman M Text-based system for exchanging commands between devices, services and applications
US8146277B2 (en) 2002-09-20 2012-04-03 Puredepth Limited Multi-view display
US9733784B1 (en) * 2013-09-03 2017-08-15 Amazon Technologies, Inc. Content preview for electronic devices
US20180150531A1 (en) * 2015-06-29 2018-05-31 Planisware SAS Enhanced mechanisms for managing multidimensional data
US10678409B2 (en) 2008-03-12 2020-06-09 International Business Machines Corporation Displaying an off-switch location

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19819493A1 (en) * 1998-04-30 1999-11-04 Dekra Automobil Ag Server arrangement with data storage or bank
US6859821B1 (en) * 1999-07-19 2005-02-22 Groove Networks, Inc. Method and apparatus for prioritizing data change requests and maintaining data consistency in a distributed computer system equipped for activity-based collaboration
US6640241B1 (en) 1999-07-19 2003-10-28 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a communications manager

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR550374A (en) 1921-08-27 1923-03-05 Acieries Et Forges Firminy Electric heating by Joule effect in direct or alternating current of the axial wires and use of the action of a magnetic field to make them vibrate in an apparatus for the electric purification of gases
FR550370A (en) 1921-08-27 1923-03-05 Electric musical instrument
US5040131A (en) * 1987-12-23 1991-08-13 International Business Machines Corporation Graphical processing
GB2247549A (en) 1990-08-13 1992-03-04 Hitachi Ltd Storing and retrieving collaboratively processed information
US5179652A (en) * 1989-12-13 1993-01-12 Anthony I. Rozmanith Method and apparatus for storing, transmitting and retrieving graphical and tabular data
US5255356A (en) * 1989-05-31 1993-10-19 Microsoft Corporation Method for hiding and showing spreadsheet cells
US5293619A (en) 1991-05-30 1994-03-08 Sandia Corporation Method and apparatus for collaborative use of application program
US5321750A (en) * 1989-02-07 1994-06-14 Market Data Corporation Restricted information distribution system apparatus and methods
US5337407A (en) 1991-12-31 1994-08-09 International Business Machines Corporation Method and system for identifying users in a collaborative computer-based system
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5491743A (en) * 1994-05-24 1996-02-13 International Business Machines Corporation Virtual conference system and terminal apparatus therefor
US5499180A (en) * 1993-03-11 1996-03-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
US5701499A (en) * 1992-03-25 1997-12-23 Microsoft Corporation Method and system for automatically entering a data series into contiguous cells of an electronic spreadsheet program or the like

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5319777A (en) * 1990-10-16 1994-06-07 Sinper Corporation System and method for storing and retrieving information from a multidimensional array
US5339388A (en) * 1991-12-31 1994-08-16 International Business Machines Corporation Cursor lock region
US5339389A (en) * 1991-12-31 1994-08-16 International Business Machines Corporation User selectable lock regions

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR550370A (en) 1921-08-27 1923-03-05 Electric musical instrument
FR550374A (en) 1921-08-27 1923-03-05 Acieries Et Forges Firminy Electric heating by Joule effect in direct or alternating current of the axial wires and use of the action of a magnetic field to make them vibrate in an apparatus for the electric purification of gases
US5040131A (en) * 1987-12-23 1991-08-13 International Business Machines Corporation Graphical processing
US5321750A (en) * 1989-02-07 1994-06-14 Market Data Corporation Restricted information distribution system apparatus and methods
US5255356A (en) * 1989-05-31 1993-10-19 Microsoft Corporation Method for hiding and showing spreadsheet cells
US5179652A (en) * 1989-12-13 1993-01-12 Anthony I. Rozmanith Method and apparatus for storing, transmitting and retrieving graphical and tabular data
GB2247549A (en) 1990-08-13 1992-03-04 Hitachi Ltd Storing and retrieving collaboratively processed information
US5293619A (en) 1991-05-30 1994-03-08 Sandia Corporation Method and apparatus for collaborative use of application program
US5337407A (en) 1991-12-31 1994-08-09 International Business Machines Corporation Method and system for identifying users in a collaborative computer-based system
US5701499A (en) * 1992-03-25 1997-12-23 Microsoft Corporation Method and system for automatically entering a data series into contiguous cells of an electronic spreadsheet program or the like
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5499180A (en) * 1993-03-11 1996-03-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
US5491743A (en) * 1994-05-24 1996-02-13 International Business Machines Corporation Virtual conference system and terminal apparatus therefor

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7624339B1 (en) * 1999-08-19 2009-11-24 Puredepth Limited Data display for multiple layered screens
US8179338B2 (en) 1999-08-19 2012-05-15 Igt Method and system for displaying information
US7730413B1 (en) 1999-08-19 2010-06-01 Puredepth Limited Display method for multiple layered screens
US7724208B1 (en) 1999-08-19 2010-05-25 Puredepth Limited Control of depth movement for visual display with layered screens
US20080015957A1 (en) * 2000-09-19 2008-01-17 Shunichi Mukai Product Purchase System, Product Purchase Method, a Storage Medium for Storing a Program for Executing the Product Purchasing Method, and a Server Used Therefor
US7890920B2 (en) 2000-09-19 2011-02-15 International Business Machines Corporation Storage medium for storing a program for executing the product purchasing method, and a server used therefor
US20090204509A1 (en) * 2000-09-19 2009-08-13 International Business Machines Corporation Storage medium for storing a program for executing the product purchasing method, and a server used therefor
US7542927B2 (en) * 2000-09-19 2009-06-02 International Business Machines Corporation Product purchase system, product purchase method, a storage medium for storing a program for executing the product purchasing method, and a server used therefor
US6912690B2 (en) * 2000-10-24 2005-06-28 International Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US20020049784A1 (en) * 2000-10-24 2002-04-25 Internatonal Business Machines Corporation Method and system in an electronic spreadsheet for persistently copy-pasting a source range of cells onto one or more destination ranges of cells
US20090037803A1 (en) * 2000-10-24 2009-02-05 International Business Machines Corporation System in an electronic spreadsheet for persistently self-replicating multiple ranges of cells through a copy-paste operation and a self-replication table
US8250461B2 (en) 2000-10-24 2012-08-21 International Business Machines Corporation Persistently self-replicating multiple ranges of cells through a table
US9922019B2 (en) 2000-10-24 2018-03-20 International Business Machines Corporation Persistently self-replicating cells
US9158751B2 (en) 2000-10-24 2015-10-13 International Business Machines Corporation Persistently self-replicating multiple ranges of cells through a table
US20020198938A1 (en) * 2001-04-24 2002-12-26 Fujitsu Limited Display engagement system
US7174505B2 (en) * 2001-04-24 2007-02-06 Fujitsu Limited Display engagement system
US8120547B2 (en) 2001-05-01 2012-02-21 Puredepth Limited Information display
US8711058B2 (en) 2001-05-01 2014-04-29 Puredepth Limited Information display
US20090070709A1 (en) * 2001-09-11 2009-03-12 Pure Depth Limited Improvement to instrumentation
US20030156137A1 (en) * 2002-02-21 2003-08-21 Hartwig Von Essen Method for selecting and representing objects in a plane and in N-dimensional space
US7221357B2 (en) * 2002-02-21 2007-05-22 Kid-Systeme Gmbh Method for selecting and representing objects in a plane and in N-dimensional space
US20040017400A1 (en) * 2002-07-26 2004-01-29 Ly Eric Thichvi Method for project planning
US8146277B2 (en) 2002-09-20 2012-04-03 Puredepth Limited Multi-view display
US20070252804A1 (en) * 2003-05-16 2007-11-01 Engel Gabriel D Display Control System
US8154473B2 (en) 2003-05-16 2012-04-10 Pure Depth Limited Display control system
US20070112881A1 (en) * 2005-11-15 2007-05-17 International Business Machines Corporation Meeting invitation and group distribution list synchronization
US20080229184A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Private sheets in shared spreadsheets
US20090231350A1 (en) * 2008-03-12 2009-09-17 Andrew Gary Hourselt Apparatus and methods for displaying a physical view of a device
US8019718B2 (en) * 2008-03-12 2011-09-13 International Business Machines Corporation Method and system for collaborative learning
US8650490B2 (en) * 2008-03-12 2014-02-11 International Business Machines Corporation Apparatus and methods for displaying a physical view of a device
US20090234894A1 (en) * 2008-03-12 2009-09-17 International Business Machines Corporation Method and system for collaborative learning
US10678409B2 (en) 2008-03-12 2020-06-09 International Business Machines Corporation Displaying an off-switch location
US7930328B2 (en) * 2008-03-31 2011-04-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for file system sharing
US20090249331A1 (en) * 2008-03-31 2009-10-01 Mark Charles Davis Apparatus, system, and method for file system sharing
US20120072559A1 (en) * 2010-09-22 2012-03-22 Alzamil Abdullah Abdulrhman M Text-based system for exchanging commands between devices, services and applications
US8484380B2 (en) * 2010-09-22 2013-07-09 Abdullah Abdulrhman M. ALZAMIL Text-based system for exchanging commands between devices, services and applications
US9733784B1 (en) * 2013-09-03 2017-08-15 Amazon Technologies, Inc. Content preview for electronic devices
US20180150531A1 (en) * 2015-06-29 2018-05-31 Planisware SAS Enhanced mechanisms for managing multidimensional data
US11204934B2 (en) * 2015-06-29 2021-12-21 Planisware SAS Enhanced mechanisms for managing multidimensional data

Also Published As

Publication number Publication date
WO1997005554A1 (en) 1997-02-13
GB2303946A (en) 1997-03-05
GB9515602D0 (en) 1995-09-27

Similar Documents

Publication Publication Date Title
US6610102B1 (en) Data conferencing system with distributed electronic sheet
US5577188A (en) Method to provide for virtual screen overlay
US5694544A (en) Conference support system which associates a shared object with data relating to said shared object
Neuwirth et al. Issues in the design of computer support for co-authoring and commenting
US8230321B2 (en) System in an electronic spreadsheet for displaying and/or hiding range of cells
US9563332B2 (en) Context-sensitive display bar
US4974173A (en) Small-scale workspace representations indicating activities by other users
US6411313B1 (en) User interface for creating a spreadsheet pivottable
Brinck et al. A collaborative medium for the support of conversational props
US7275207B2 (en) System and method in an electronic spreadsheet for displaying and/or hiding range of cells
US20090100325A1 (en) System and method in an electronic spreadsheet for copying and pasting displayed elements of a range of cells
US20020091728A1 (en) Multidimensional electronic spreadsheet system and method
US11756001B2 (en) Online collaboration platform
US20080134022A1 (en) Document attributes
US20050147950A1 (en) Graphical representation, storage and dissemination of displayed thinking
JPH08305663A (en) Teamwork support system
JP2000029812A (en) Free form graphics system having conference object for aiding purpose of conference
US20190220157A1 (en) Method and system for graph data management
US20030188258A1 (en) System and method in an electronic spreadsheet for displaying and/or hiding range of cells
JPH03163660A (en) Hiding and displying of spread seat cell
JPH01112419A (en) Data transfer
WO1997021176A1 (en) A multidimensional electronic spreadsheet system and method
Santos A Cooperative Architecture for Hypermedia Editing–CoMEdiA
Santos CoMEdiA: Conceptualisation and realisation of a cooperative hypermedia editing architecture
Zhang The history and user interface analysis of editing tools

Legal Events

Date Code Title Description
AS Assignment

Owner name: IBM CORPORATION, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALDRED, BARRY KEITH;LAMBERT, HOWARD SHELTON;MITCHELL, HOWARD DAVID;REEL/FRAME:008111/0021;SIGNING DATES FROM 19960621 TO 19960626

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20150826