US20120331402A1 - System and Method to Create a Collaborative Web-based Multimedia Contextual Document - Google Patents

System and Method to Create a Collaborative Web-based Multimedia Contextual Document Download PDF

Info

Publication number
US20120331402A1
US20120331402A1 US13/483,107 US201213483107A US2012331402A1 US 20120331402 A1 US20120331402 A1 US 20120331402A1 US 201213483107 A US201213483107 A US 201213483107A US 2012331402 A1 US2012331402 A1 US 2012331402A1
Authority
US
United States
Prior art keywords
media
book
user
shared space
application
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.)
Abandoned
Application number
US13/483,107
Inventor
Henry Hon
Timothy Hon
David Rorex
Michael Bautista
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.)
SIMULAT Inc
Original Assignee
SIMULAT Inc
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 SIMULAT Inc filed Critical SIMULAT Inc
Priority to US13/483,107 priority Critical patent/US20120331402A1/en
Assigned to Simulat, Inc. reassignment Simulat, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BAUTISTA, MICHAEL, HON, HENRY, HON, TIMOTHY, ROREX, DAVID
Publication of US20120331402A1 publication Critical patent/US20120331402A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor

Definitions

  • This invention generally relates to the field of asynchronous and synchronous web document production methods and systems.
  • Lacking is a system that will allow both synchronous and asynchronous communication using discrete media layers such that information can be organized by time and space which in turn can allow for a variety of organizational metaphors.
  • Account Owner The person who owns, creates or maintains or provided stewardship over a particular session and all options, rights relevant to that session.
  • Annotation Extra information associated with a particular point in a document or other piece of information.
  • API application programming interface
  • the term blog is a shortened form for web log.
  • Authoring a blog, maintaining a blog or adding an article to an existing blog is called “blogging”.
  • Individual articles on a blog are called “blog posts,” “posts” or “entries”.
  • a person who posts these entries is called a “blogger”.
  • a blog comprises hypertext, images, and links (to other WebPages and to video, audio and other files). Blogs use a conversational documentation style.
  • Often blogs focus on a particular “area of interest”, such as Washington, D.C.'s political goings-on.
  • Collection One or more media-layers that have an organizational structure. Typically this is stored as an XML file.
  • Converter Provides for converting audio files, video, animations or applets of varying degrees of interactivity and function, presentations, documents, spreadsheets among other files in the original data format to another format that allows information to be accessible through a browser using a media application.
  • a web browser is a software application, technically a type of HTTP client, that enables a user to display and interact with HTML documents hosted by web servers or held in a file system.
  • Popular browsers available for personal computers include Microsoft Internet Explorer®, Mozilla Firefox®, Opera®, Netscape®, Apple Safari® and Konqueror®A browser is the most commonly used kind of user agent.
  • the largest networked collection of linked documents is known as the World Wide Web. It is assumed that all common web browser will have Macromedia Flash®installed or will support the installation and proper execution of Flash®applications.
  • Dynamic button A clickable link that can jump the user to a different page in the same book, a different book, generate a new email in the users local email application, or send the user to a web page in a new browser window.
  • Event A set of codes that describe the modification of a media-layer.
  • Media-layer (media layer) (layer)—A media-layer is defined as a container that supports the display and modification of media and plug-ins. Media-layers have meta information, or attributes, such as; author, time/date created, its parent media-container, a list of children media-containers, position within 3D space, stacking order relative to the parent media-layer, size, reference to media or a plug-in that is assigned to the media-layer, etc
  • Multimedia is the use of several different media to convey information (text, audio, graphics, animation, video, and interactivity).
  • a computer network is two or more computers connected together using a telecommunication system for the purpose of communicating and sharing resources. Examples include but are not limited to a WAN or LAN connection or an internet, intranet or extranet connection.
  • Online Chat can refer to any kind of communication over the internet, but is primarily meant to refer to direct 1 on 1 chat or chat rooms, using tools such as instant messenger applications-computer programs, Internet Relay Chat, talkers and possibly MUDs, MUCKs, MUSHes and MOOes.
  • Plug-in is a computer program that can, or must, interact with another program to provide a certain, usually very specific, function. Typical examples are plug-in to display specific graphic formats (e.g., SVG if the browser doesn't support this format natively), to play multimedia files, to encrypt/decrypt email (e.g., PGP), or to filter images in graphic programs.
  • the main program a web browser or an email client, for example
  • Plug-ins are slightly different from extensions, which modify or add to existing functionality. The main difference is that plug-in generally run within a sandbox, rely on the main program's user interface, and have a well-defined boundary to their possible set of actions.
  • Room A Room is a common reference to a ‘shared space’.
  • a room contains default tools, rules and permissions that are set and controlled by the room administrator.
  • Space A shared virtual reference point where as multiple users can interact in real-time upon shared objects.
  • Space Creator The User creates an account to which a ‘space’ is allocated where other individuals also using a browser can engage in the synchronized or unsynchronized viewing and annotating of images.
  • Stage A reference coordinate system that informs where media should be displayed.
  • the most typical stage is a two dimensional Cartesian coordinate system where 0,0 is position in the upper right of the display area.
  • Session State The state of all objects, GUI tools and controls, and media-layers, at any given time.
  • Sidebar panel a window within a browser such as Windows® desktop (Windows is a registered trademark of Microsoft Corporation). Sidebars often perform various tasks, such as displaying the time and date and showing the CPU usage.
  • Threads in a forum are either flat (posts are listed in chronological order) or threaded (each post is made in reply to a parent post). Sometimes, community members have a choice on how to display threads.
  • Web based shared space This describes a single point of reference for multiple users to access and add and modify information from a web browser for viewing by others via that same point of reference.
  • WIKI A website that allows the visitors themselves to easily add, remove, and otherwise edit and change available content, and typically without the need for registration.
  • Whiteboard a drawing utility, commonly supplied as part of a collaboration framework to allow distributed users to share a common drawing space.
  • the present invention relates to the field of collaborative computing, and more particularly to a method for creating a collaborative book in a shared network space comprising the steps of: accessing one or more user computers in a shared space in the network, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list; loading a media application with a plurality of tools into one or more user computers; using a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by at least one file descriptor inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space; and providing templates to create pages with specific layouts, providing plug-ins for each type content; and displaying the content by computers in the shared space in one of a synchronous or asynchronous mode; and searching additional resource information, providing converters for displaying the book including: permitting
  • a computer system for creating a collaborative book in a shared network space comprising: a means for accessing one or more user computers in a shared space in the network, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list; an executable media application code with a plurality of tools into one or more user computers; a means for inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space; a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by a file descriptor inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space; and a display for displaying the content by computers in the shared space in one of a synchronous or asynchronous mode; executable code for providing (a) templates to create pages with specific layouts, (b) plug-
  • the invention also relates to a method wherein the media application is a Flash application, Java application or browser based scripts.
  • the invention also relates to a method of a user moving pages in the book between one or more books in a library and to/from a website on the World Wide Web.
  • the invention also relates to a method of using a template to permit content creators to decide where to place the content within a book; using the template to dynamically swap in and out pages within the book as dictated by the use to which the books are put; and using the template to permit the use of one or more of dynamic buttons and plug-in features such that users of the book may access books that reside within a library of books.
  • the invention further relates to methods for publishing the book, storing the book in a library for publication, embedding the master book into in any web property, embedding into the master book an autonomous software agent to trigger one of the creation, duplication and/or publication of copies of the book and filtering to moderate and filter input, viewing permission, copying and publication.
  • FIG. 1A depicts the embodiments of a system to create a session in shared spaces for the collaborative web-based media-layered platform in a network environment in accordance with an embodiment of the invention
  • FIG. 1B illustrates the system initiation to create a session of collaboration in media-layers in accordance with an embodiment of the invention
  • FIG. 1 C 1 is an embodiment of a system illustrating the process of establishing and operating a session within a user application such as a web browser using various tools in an application in accordance with an embodiment of the invention
  • FIG. 1 C 2 illustrates another embodiment of various components of a Flash application tools interacting with the user's media-layers during a session in accordance with an embodiment of the invention
  • FIG. 1D is a screen shot illustrating the construct of a page as a collection of media-layers in a Book metaphor in accordance with an embodiment of the invention
  • FIG. 1E illustrates an example of a media-layer as a container for an application or plug-in to create media object elements within the media-layer in accordance with an embodiment of the invention
  • FIGS. 1 F and 1 F 1 illustrate the construct and functionality of a Book metaphor and a page using media-layers and metaphor specific tools in accordance with an embodiment of the invention
  • FIG. 1G illustrates an example of staging and synchronizing media-layers using a Flash application tool for the construct of a page as a collection of media-layers in accordance with an embodiment of the invention
  • FIG. 2A illustrates an example of collaborative actions in a web conferencing environment in accordance with an embodiment of the invention
  • FIG. 2B illustrates an example of synchronizing an annotation of a drawing in a shared space through various input devices in accordance with an embodiment of the invention
  • FIG. 3A to 3E depicts various functions and features of the invention in creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 4 is a flow chart depicting a method to collaborate a web browser based media-layered session in a network environment in accordance with an embodiment of the invention
  • FIG. 5 a depicts a diagram illustrating the states of various functions of the invention for creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 5 b depicts a diagram illustrating the states of various functions of the invention for creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 6 depicts a flow chart for performing various functions of the invention in creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 7 a depicts a browser with various functions and features for creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 7 b depicts a browser with various functions and features for creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 7 c depicts a browser with various functions and features for creating a collaborative multimedia platform in accordance with an embodiment of the invention
  • FIG. 8 is a system to collaborate using a web browser based media-layered session in a network environment in accordance with an embodiment of the invention
  • FIG. 9 depicts a flow chart of a method for creating a collaborative multimedia platform in accordance with an embodiment of the invention.
  • the present invention relates to the field of collaborative computing, and more particularly, to a system and method for providing a browser-based program to create, and configure a shared space whereby multiple users can access this shared space to perform tasks and interact such as input, modify text and delete images, drawings and other multimedia via media-layers in a real-time synchronous manner.
  • a shared space is defined as a virtual reference point whereas multiple users can interact in real-time upon shared objects. It is a conceptual construct created by processing executable computer codes from a plurality of programs or plug-ins typically using Flash Virtual Machine (VM) or Java VM.
  • a session is defined as the state of all objects, GUI tools and controls, and media-layers, at any given time within the shared space.
  • Each media-layer can serve as a container for shapes and objects as well as other programs such as a text editor, thumbnail viewer, MP3 player, games, etc.
  • the invention also allows which media-layer(s) to display via organization metaphors and filtering criteria.
  • the invention also allows for offline or unsynchronized interaction with objects of a session. Offline events are recorded for later integration with the session.
  • FIG. 1A of the present invention relates to a distributed web based conferencing system, apparatus and method, which includes at least one central processing computer or computer network server.
  • FIG. 1A depicts the basic foundation of the invention of system 100 A to create a session 140 in shared spaces 140 a to 140 c for multiple users to collaborate on a web-based platform with created media-layers 141 a to 141 c within a network 112 environment.
  • the system 100 A is derived from four main components. Client or user computer(s) 130 to 134 , host server 170 , database 104 storage device, file storage 108 which is accessible through a web server 106 .
  • Each component may be on the same computer or separate computers. It is not necessary that each computer is of the same OS, nor CPU, type.
  • Servers 150 , 160 include at least one controller (not shown) or central processing unit (CPU or processor), at least one communication port or hub, at least one random access memory (RAM), at least one read-only memory (ROM) and one or more databases such as database 104 or data storage devices 108 . All of these later elements are in communication with respective CPUs to facilitate the operation of the host server 170 .
  • the server 170 may be configured in many different ways. For example, host server may be a conventional standalone server computer or alternatively, the function of server may be distributed across multiple computing systems and architectures.
  • Server 170 also may be configured in a distributed architecture, wherein databases and processors are housed in separate units or locations. Some such servers perform primary processing functions and contain at a minimum, a RAM, a ROM, and a general controller or processor. In such an embodiment, each of these servers is attached to a communications hub or port that serves as a primary communication link with other servers such as web server 106 , or user computers (e.g., 130 , 132 , 134 ) and other related devices.
  • the communications hub or port may have minimal processing capability itself, serving primarily as a communications router establishing a corresponding link 119 with the web server 106 .
  • a variety of communications protocols may be part of the system, including but not limited to: Ethernet, SAP, SASTM, ATP, Bluetooth, GSM and TCP/IP.
  • Data storage devices such as file storage 108 may include a hard magnetic disk drive, optical storage units, CD-ROM drives, or flash memory.
  • Data storage devices contain databases such as database 104 used in processing transactions and/or calculations in accordance with the present invention, including at least a user subscriber database and a user content database.
  • database software creates and manages these databases. Conference related calculations and/or algorithms of the present invention are stored in storage device and executed by the corresponding CPU.
  • the controller comprises a processor, such as one or more conventional microprocessors and one or more supplementary co-processors such as math co-processors.
  • the processor is in communication with a communication port through which the processor communicates with other devices such as other servers, user terminals or devices.
  • the communication port may include multiple communication channels for simultaneous communication with, for example, other processors, servers or client terminals.
  • devices in communication with each other need not be continually transmitting to each other. On the contrary, such devices need only transmit to each other as necessary, may actually refrain from exchanging data most of the time, and may require several steps to be performed to establish a communication link between the devices.
  • the processor also is in communication with a data storage device.
  • the data storage device may comprise an appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, RAM, ROM, flash drive, an optical disc such as a compact disc and/or a hard disk or drive.
  • the processor and the data storage device each may be, for example, located entirely within a single computer or other computing device; or connected to each other by a communication medium, such as a USB port, serial port cable, a coaxial cable, an Ethernet type cable, a telephone line, a radio frequency transceiver or other similar wireless or wired medium or combination of the foregoing.
  • the data storage device may store, for example, (i) a program (e.g., computer program code and/or a computer program product) adapted to direct the processor in accordance with the present invention, and particularly in accordance with the processes described in detail hereinafter; (ii) a database adapted to store information that may be utilized to store information required by the program.
  • the database includes multiple records, each record including fields specific to the present invention such as membership rates, subscribers, sessions, etc.
  • the program may be stored, for example, in a compressed, an uncompiled and/or an encrypted format, and may include computer program code.
  • the instructions of the program may be read into a main memory of the processor from a computer-readable medium other than the data storage device, such as from a ROM or from a RAM. While execution of sequences of instructions in the program causes the processor to perform the process steps described herein, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of the processes of the present invention. Thus, embodiments of the present invention are not limited to any specific combination of hardware and software.
  • Suitable computer program code may be provided for performing numerous functions such as alternative steps of invention.
  • the computer program code required to implement the above functions (and the other functions described herein) can be developed by a person of ordinary skill in the art, and is not described in detail herein.
  • Non-volatile media include, for example, optical or magnetic disks, such as memory.
  • Volatile media include dynamic random access memory (DRAM), which typically constitutes the main memory.
  • Computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM or EEPROM (electronically erasable programmable read-only memory), a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • a floppy disk a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM or EEPROM (electronically erasable programmable read-only memory), a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor (or any other processor of a device described herein) for execution.
  • the instructions may initially be borne on a magnetic disk of a remote computer.
  • the remote computer can load the instructions into its dynamic memory and send the instructions over an Ethernet connection, cable line, or even telephone line using a modem.
  • a communications device local to a computing device (or, e.g., a server) can receive the data on the respective communications line and place the data on a system bus for the processor.
  • the system bus carries the data to main memory, from which the processor retrieves and executes the instructions.
  • the instructions received by main memory may optionally be stored in memory either before or after execution by the processor.
  • instructions may be received via a communication port as electrical, electromagnetic or optical signals, which are exemplary forms of wireless communications or data streams that carry various types of information.
  • Server 170 of the present invention may also interact and/or control one or more user devices or terminals (e.g., 130 , 132 , 134 ).
  • the user device or terminal may include any one or a combination of a personal computer, a mouse, a keyboard, a computer display, a touch screen, LCD, voice recognition software, or other generally represented by input/output devices required to implement the above functionality.
  • the program also may include program elements such as an operating system, a database management system and “device drivers” that allow the processor to interface with computer peripheral devices (e.g., a video display, a keyboard, a computer mouse, etc.).
  • the shared spaces 140 a to 140 c emulate and share the contents of the session 140 where executable computer codes in both the client or user computers 130 to 134 and the host 102 .
  • the executable codes in each computer may be different, but the intended results of the invention are achieved.
  • the state of the session 140 is maintained on the host 102 during a live session 140 then the database 104 at the end of a session. All client or user computers 130 to 134 that are logged into a session 140 are constantly updated with changes to the session 140 in real time. If permissions are granted, any client can initiate a change to the state of the live session. Once this change has been sent, all client computers 130 to 134 are updated with the change.
  • the system 100 A comprises of a host 102 in synchronous communication with one or more user computers 130 to 134 .
  • the host is a server in communication with a database 104 ; where the host is also in communication with a web server 106 that communicates with a file storage 108 .
  • the database 104 can be in a separate server, or can be part of the host 102 within the same server 150 .
  • the web server 106 and the file storage 108 can be separate units or can be integrated into a server 160 .
  • a host 170 is a server including the functions of the database 104 , the web server 106 and the file storage 108 .
  • the physical location of the database 104 , file storage 108 and the method of writing the computer executable codes being integrated into the host server 102 is not important to the invention as long as the functions are accessible to the host 102 and to the user computers 130 to 134 .
  • each of the user computers 130 to 134 has an operating system 142 a to 142 c such as the Microsoft Windows XP®, Linux®, Macintosh OSX® or any third party operating system.
  • the operating system in each of the user computers 130 to 134 need not be the same as long as it supports a web browser or other application to access the internet and supports the execution of codes to facilitate the intended media functions of the invention.
  • compiled Flash VM executable codes of the application 110 are downloaded before the creation of a shared space 140 a to 140 c to each of the user computers 130 to 134 from the host session 140 through the network 112 and links 124 to 128 .
  • the application 110 can be native to each of the user computers 130 to 134 as media applications 110 a to 110 c.
  • One or more media layers 141 a to 141 c are created and respective media tools are from media applications 110 a to 110 c is generated by the interaction of the codes in the user computers 130 to 134 and the codes from the host server 180 .
  • the network 112 and the corresponding links 114 , 118 , 120 to 128 are part of the Wide Area Networks (WAN), Local Area Network (LAN) through Ethernet connections or wireless connections.
  • the network and the links can be Local Optical Networks (LON) or direct fiber optic links or direct terminal connections or plain old telephone service (POTS).
  • LON Local Optical Networks
  • POTS plain old telephone service
  • All services as contained within the host server 180 are equipment selected from the list to include a server, work station, personal computer, laptop computer, Personal Digital Assistant (PDA), an Intelligent Electronic Device (IED) or any suitable computing platform with sufficient memory and processing power to perform the functions as a server in a network environment.
  • the user computers 130 to 134 are equipment selected from the list to include a server, work station, terminal, personal computer, lap top computer, Personal Digital Assistant (PDA), electronic tablet, handheld wireless device, a cellular phone, an Intelligent Electronic Device (IED) or any suitable computing platform with sufficient memory and processing power to perform the functions as a user computer to perform media inputs in a network environment.
  • the system 100 A can be extended to include broad applications such as web conferencing, local conference presentations projecting synchronized annotations or pointing tool to contents on multiple screens to mass audience, on line interactive courses and tutoring, live interactive interviews to multiple interviewees in different geographical locations, interactive debate forums using multimedia, interactive cellular phone chats and games, secured synchronized interactive voting method combined with secured voter identification, live military battlefield operational command, remote interactive clinical instructions and operation training procedure; and electric power utility interactive service, support and trouble shooting etc.
  • Said examples and the contents desired for the execution of said example can be assembled before and during synchronized events. Content can also be made available in an unsynchronized fashion such that independent content review or read only publishing can be supported.
  • FIG. 1B illustrates the system 100 B initiation to create a session 140 of collaboration in media-layered 141 d to 141 f within space 140 d that holds media elements 115 a , tools 110 d (Flash application tools) or plug-ins 115 b and 115 c .
  • Plug-ins 115 b and 115 c are independent applications that must conform to the system's API 143 a , 143 b as well as be compatible with the system's runtime environment. For example, if the client system is a macromedia Flash application, then the plug-in 115 b and 115 c must also be a Flash application.
  • Said plug-ins 115 b and 115 c can be accessible either locally from the client computer 136 , or through a local connection, or a network 112 a .
  • a plug-in 115 b or 115 c can, however, manage the execution of the tools of an application not of the same executable code base as the client application.
  • a Flash plug-in 115 b or 115 c can manage the execution of the Java application as relevant to the client computer 136 .
  • the initialization of the system 100 B requires that the user's or client's computer 136 has internet access through link 124 a to network 112 a and the ability to support compiled Flash based applications.
  • a typical configuration will involve the use of a common web browser with a flash plug-in and JavaScript enabled.
  • the user or client makes a request to join a session 140 by sending login credentials to the host 102 a .
  • the host 102 a in turn will query the database 104 a to determine the tools 110 d that must be downloaded and the current session 140 state parameters.
  • plug-ins 115 b and 115 c are sometimes downloaded from third party servers 107 a and 107 b . Instruction and location of said plug-ins 115 b and 115 c are provided by the host 102 a.
  • the host 102 a first sends a base application that provides a synchronizing connection between that user 136 and the host 102 a .
  • a standard socket connection is established. Should this fail, High Ports are tested for the ability to exchange data. Should this fail, ports 80 and 81 are checked via standard HTTP protocols.
  • the host 102 a will send a list of required application tools 110 d to be loaded by the user computer 136 . By only loading those tools 110 d that are required, the system in the user's computer 136 will start faster with a lower memory requirement. Should the user choose to run in ‘thin’ mode, those tools 110 d that are only needed on demand will be loaded into memory during their use and unloaded after their use is no longer required.
  • FIG. 1 C 1 is an embodiment of a system 100 C illustrating the process of establishing and operating a session within a user application such as a web browser 140 j using various tools in Flash application 110 e .
  • a user 135 logs onto the system 100 C via the internet, LAN or WAN 112 b
  • the user 135 is registered in a shared virtual environment (session 140 k ) based on user's credentials and other parameters supplied at log on.
  • the flash application 110 e is loaded on to the client's computer 135 by the client's web browser 140 j .
  • This flash application 110 e in turn, loads a communication synchronizer application 113 that contacts the Host's server synchronization service 102 d and requests to be registered with a particular shared space for a session. Once this connection has been established, all communication between the client application 110 e and the host sync service 102 d happen between these two applications.
  • a list of tools and their location(s) on the file storage server(s) 108 a is generated. This list is passed to the flash application 110 e .
  • the flash application 110 e then loads a stage manager tool 1100 b into the buffer memory from the web server 106 a .
  • This tool 1100 b creates and manages the stage 1102 b .
  • the flash application 110 e then sends a message back to the file storage server 108 a via sync application 113 .
  • stage manager 1100 b One of the tools that are loaded is the stage manager 1100 b .
  • This tool 1100 b once loaded, looks at the attribute list of the current room for the session. One item on that list is the type of layout to be used on the stage. If any other layout is defined besides ‘default’, additional tools 1104 b are downloaded to support the additional features.
  • the stage manager 1100 b is then provided a list of media-layers 1108 b to 1112 b . Those media-layers that are listed as ‘active’ should be currently displayed. Active media-layers 1108 b and 1112 b are accessed, loaded and displayed on the stage 1102 b .
  • non-active media-layer(s) 1110 b are downloaded and stored in cache memory in a prescribed order if this option was selected. All of the media-layers together, both loaded and unloaded, 1108 b to 1112 b are called a ‘collection’.
  • the relationship of all media-layers 1108 b to 1112 b to each other can be stored in an XML file known as the ‘collection’.
  • the most exemplary example is the default stage manager system where all media-layers are displayed using the Cartesian coordinate system where the y axis is inverted.
  • the stage manager tool 1100 b then checks to see what type of collection has been loaded. In this case, it is a ‘book_simple’ type collection.
  • the tools 1104 b required for this type of layout is listed in the ‘tools’ section of the XML.
  • the client flash application 110 e then downloads into memory those tools 1104 b listed.
  • FIG. 1 C 2 illustrates another embodiment of various components of the Flash application 110 e interacting with the user's media-layers 1108 to 1112 on the stage 140 f .
  • the stage manager tool 1100 established the coordinate system and layout format that will be populated by media-layers 1108 to 1112 .
  • the most typical configuration of the stage 1102 is a two dimensional cardinal system where 0,0 is located on the upper left most side of the application window placed just under the displays for session and user information and controls. These controls are typically displayed at the top of the application window.
  • the list of active media-layers 1108 , 1112 are passed to the stage manager 1100 .
  • the media-layers 1108 and 1112 that are tagged as ‘visible’ are loaded first and then displayed in a stage 1102 .
  • a media-layer is a container that serves as a reference point for media as well as other media-layers. Since media-layers 1108 , 1110 can be attached to another media-layer 1112 , nesting of media-layers can occur. For example, a ‘parent’ media-layer 1112 contains an image of a human face on it. A ‘child’ media-layer 1110 is nested on top with a mustache drawn over the face, and another ‘child’ media-layer 1108 is nested on top with eye glasses drawn. When the parent media-layer's 1112 object is moved or hidden, the two child media-layer's 1110 1108 objects will also move or be hidden, thus maintaining their visual relationship. Each child however can have its visibility setting changed by a parent or another media-layer in the patriarchy. A media-layer from outside the patriarchy cannot modify a media-layer unless such functionality is support by the system's API.
  • a screen shot is taken from the product Vyew® in FIG. 1D to illustrate the construct of a page 140 h .
  • page 140 h is a collection of media-layers 141 g to 141 l .
  • a media-layer such as 141 h is a container to execute the codes of an application or a plug-in.
  • media-layer 141 h contains a plug-in 146 d where a plurality of media object elements can be executed, such as 146 b to execute an mp3 music player in the media-layer 141 h .
  • media-layer 141 g is a gif image, which is currently selected.
  • Media-layers can also display other compliant applications.
  • the scale and position of a media layer 141 g can be modified by using tool 146 a which is part of toolset 141 l within the page 140 h .
  • Each of the media layers 141 g to 141 l is referenced to a space coordinate origin of (0,0,0) at the upper left corner of the page 140 h .
  • the attributes of the media-layers 141 g to 141 l are referenced in a collection file descriptor such as in a XML file.
  • FIG. 1E further illustrates another example of a media-layer 141 ha as a container to a media application or thumbnail viewer plug-in 146 da creating a plurality of media object elements within a media-layer 141 ha .
  • the thumbnail viewer plug-in 146 da is referenced on a media-layer.
  • a popup tool 146 ba will assist the user in configuring the plug-in 146 da .
  • how to access images 190 a to 190 d that are stored on a third party server. The user selects a set of images from the third party server 140 ha . Those images 190 a to 190 d are then place in new media-layer(s) or a reference of these images 190 a to 190 d are passed to the thumbnail viewer 146 d via the systems API set shown in FIG. 1B .
  • FIGS. 1 F and 1 F 1 illustrate the construct of a Book metaphor using media-layers created and managed by tools 1116 c .
  • stage manager 1100 c invokes the book metaphor toolset 1116 c
  • a media-layer 144 a labeled as ‘cover’ 144 a of a book image 144 b is loaded into a tool 116 c that supports the book metaphor.
  • Another media-layer 141 m could then be created as a page.
  • the media layer of the page 141 m holds object elements such as a graphic of paper texture 140 d .
  • a third media-layer 141 n would contain an image and this media-layer 141 n will have a Z value of “1” placing it over the page 141 m media-layer and then set as a child to this page 141 m media-layer.
  • Other media-layers 141 p with annotation and media can be added as children to either the page 141 m media-layer or one of the media-layers 141 n that has been already set as a child to the page 141 m media-layer.
  • the book 144 a media-layer is displayed on the stage (not shown)
  • the other children media-layers 141 m to 141 p would be hidden.
  • the cover 144 b media-layer would hide and the page 141 m media-layer with its children and subsequent generations 141 n , 1441 p would appear. Because we are employing a book metaphor 144 a , tools 1116 c of FIG.
  • F 1 would be provided to the user that would assist in the visibility, ordering and the setting of relationships between media-layers 144 a , 144 b , 141 m to 141 p .
  • the user would not know about child or parent or media-layers, only that they created a book 144 a , and that they can add pages, and then add content to those pages.
  • other metaphors not shown could be one of a 2.5D environment where media-layers are expressed as 2D planes intermixed with 2.5D objects. A set of such as six media-layers can be set as children to a parent media-layer thus creating a cube for the 2.5D environment. These metaphors are supported with graphics that support the navigation and ordering of the multimedia elements that appear on each media-layer.
  • the administer allows more then one user access to a media-layer, then only one action may occur at one time within a media-layer. In other words, if a user initiates an action, no other actions can take place until the first action is complete. Concurrent actions can occur on separate media-layers. The administrator can select that all actions on media-layers are NOT locked. This means that if two users click on the same media-layers media, then whomever's event is sent last, will have said event respected unless the object is deleted or somehow unable to execute the later event.
  • a whiteboard tool perform the unique function of creating a new media-layer every time a line is started and then stopped.
  • Each line and/or shape in the whiteboard tool library is treated like an individual object on its own media-layer.
  • the information required to create and support an ordering construct is managed by the stage manager. All rights to what media-layers and tools are loaded, seen and how they function is controlled by the user or administrator who created the space (account). The administrator can pass the rights of a media-layers and tools to anyone(s) or to everyone.
  • FIG. 1G illustrates an example of staging and synchronizing media layers using a Flash application tool for the construct of a page 004 as a collection of media-layers 001 and 002.
  • Each media-layer 001 or 002 has attached to it, a set of corresponding attributes 147 or 149 that inform the stage manager 1100 a also shown as 1100 b in FIG. 1 C 1 on how to manage a respective media-layer.
  • media-layers with the media-layer ID 001 and 002 respectively have been placed on the stage 1102 a of a Flash application 110 f to be displayed.
  • Media-layer 001 may have the following attributes: Layer ID (001), Position X 1 (30), Position Y 1 (30), Position Z (0), Scale in X (100), Scale in Y (100), Scale in Z (100), Rotation (0), location of media object ( . . . //arch_exmpl.jpg), type of media object (image), Date Created (some date), Date last modified (some date), Date deleted (some date), ID of the user that created this layer (jones43), etc. From this information, the stage manager will know to load a jpg image from a given location and display that image, unaltered 30 units to the right and 30 units down.
  • Media-layer 002 may have the similar attributes with Position X as (40), Position Y (40) and Position Z (1).
  • the text field would appear within the application with the image in media-layer 001 under the text of media-layer 002. If another user with a client computer 137 or 138 accesses this same session, then the same steps will repeat, thus assuring that both client computers 137 and 138 are displaying the same thing.
  • the stage manager tool 1104 a of the system 110 b insures that all changes in state of a media-layer or actions that are passed to the media-layer from that media-layer's contents, is communicated to the host server 102 c to either be recorded, or sent to some or all of the other client computers 137 and 138 . This is accomplished by the host server 102 c maintaining a list of all subscribed client computers 137 to 139 . As an event is received from a client computer 139 , that event is logged and stored either on the host server 102 c and/or on the database 104 b . This event is then passed to the rest of the client computers 137 , 138 on the subscriber list.
  • the event is then replicated on all client computers 137 , 138 , however, in rare cases, an exception rule can intercept the event and then follow a defined action which may or may not mimic the original event.
  • a client computer 137 may click on an object in a media-layer 002 thus making that object interactive.
  • the client 137 then moves the object 002 from one location to another, thus creating an event.
  • the changed media-layer attribute 149 information in this case Position X, Position Y, date last modified, to the host server 102 c as an event.
  • the host server 102 c records this new information and then sends this event information to all subscribed client computers 137 to 139 . Users on the client computers 137 to 139 would then see the same object from the original location to the new location as indicated by the terms of the event.
  • FIG. 2A illustrates an example of collaborative actions in a web conferencing environment 200 A.
  • Users 230 Client, 232 Contractor and 234 Architect hold a teleconference in separate geographical locations.
  • a virtual shared space is created when users 230 to 234 are logged into a common session through synchronous communication links 224 to 228 with host server 202 .
  • FIG. 2B illustrates an example of synchronizing an annotation of a drawing in a shared virtual space 244 a to 244 c through various input devices 240 a to 240 e during a web conferencing environment 200 B.
  • the shared space 244 a to 244 c is a web-based shared environment such as a web browser where multiple users 230 to 234 can create, transform and delete a wide variety of media as well as annotate over or under said media.
  • the example in FIG. 2B illustrates that user 230 as client Mike annotating a circle 242 a over an image of a floor plan displayed on the computer monitor using an electronic or optical pen 240 a .
  • This action is synchronized and displayed on those sharing the same virtual space 244 b as 244 c in user 232 contractor John and user 234 Architect's computer monitors. All actions from any of the users 230 to 234 are also stored on the server 202 for later retrieval. If users 230 to 234 annotate the floor plan drawing at same location at the same time, the last input to the shared space 244 a to 244 c will be recorded and shown on the computer monitors.
  • a wireless PDA or electronic tablet 240 a can also be sent as inputs to the shared space 244 a to 244 c .
  • the cellular phones 246 a to 246 c voice input can be integrated as a media layer over the other text or graphic layers during the teleconferencing.
  • the shared environment is multi dimensional thus allowing users 230 to 234 to sort information by not only content, but spatial, temporal and inter relationships between the media-layers created. Because the shared space 244 a to 244 c is virtual and not restricted to one image, more then one media can be placed within the same shared space 244 a to 244 c.
  • FIG. 3A to 3E are various browser screenshots 300 A to 300 F of a Graphical User Interface (GUI) illustrating a plurality of executable tool functions including the stage manager tools available for the collaborative media-layered platform.
  • GUI Graphical User Interface
  • the GUI shown in FIG. 3A includes standard window's editing tools 304 a .
  • the shared media workspace 310 acts as a container to support a plurality of media file formats and plug-in applications where layer-based authoring content can be easily moved, scaled, copied, pasted, layered and deleted. On-demand access to different content or sessions—saved and organized by topic, audience or version for example.
  • a user list 306 and chat configurations 308 are also shown. Some examples include the Microsoft Office® and Adobe® PDF files, real time desktop sharing, photos, etc.
  • shared media workspace 310 can import and export (to PowerPoint or PDF) for asynchronous work or archiving offline. Operation and UI of the client application in an offline mode is similar. This characteristic allows the user to continue annotating the media layer objects when offline (temporarily leaving the session), re-synching to the latest changes on the media layer or to the session when back online.
  • the time and space synchronization of content changes and annotations enable users to publish content anywhere on the web, have presence awareness capabilities to know when other users are interacting with that content, and then interact with that user in real-time.
  • FIG. 3B illustrates another window opened from the tool bar where the upload of files from a file storage remotely 318 or locally from a hard drive 316 .
  • files can be uploaded directly by providing a valid URL.
  • a tree structure 320 shows the organization of the files through a web service 106 a from a remote file storage 108 a such as one shown in FIG. 1 C 1 or from the local hard drive 316 or other storage devices accessible from a client computer.
  • new media 322 and text 324 can be created as new media-layers using the tools 304 b .
  • 326 shows a shared pointer object that maintains its position across all clients in real-time functioning as a surrogate mouse pointer.
  • 3D illustrates GUI tools invoked to support the book typical metaphor.
  • Books 332 a to 332 d can be switched during a session by the users.
  • FIG. 3E illustrates the user management 334 function can be invoked by selecting meeting option from the main menu tool bar 328 .
  • the user management function allows user to see who is logged in, send email invitations, set user permissions, lock and unlock the room for the shared session.
  • the option of using teleconferencing 336 by using online VoIP (Voice Over IP), cell or common POTS while interacting in real time with users during the session can be done by providing an VoIP client or phone number and access code for those users given permission to access said voice service.
  • FIG. 3F illustrates a ‘filter by user’ tool 338 where a window 338 a is opened to display the ID labels (name) of all users that have created a media-layer on the current page.
  • Objects can be hidden or unhidden based on the selection of one or more names. This same filtering is also achieved based on the time when media-layers were created and/or modified.
  • Another select media window 340 allows the selection of media-layers based on the media-layer's ID label.
  • FIG. 4 is a flow chart 400 depicting a method to collaborate a web browser based media-layered session between two or more users in a shared environment.
  • the shared environment is an Ethernet WAN or LAN network, a fiber optic communication direct link, a Flash application is loaded on each registered client computer in step 402 .
  • the flash application on the client computer connect to a host server after being authenticated. The host registers the users and opens a session to support synchronous communication.
  • the host retrieves from a database the identity of user and sends a tool list to be loaded by the flash application on the client.
  • the flash application will load one or more media-layers in response to the receipt of a session attribute list from the host.
  • a default media-layer is loaded.
  • One of such tools is the stage manager tool.
  • a plurality of media-layers form a collection; where the collection is managed by the stage manager tool, only the active layers are viewable by users, the inactive layers are hidden from view.
  • the collection is correlated with information including time last modified and 3D space coordinates into a file descriptor suitable for network equipment communication such as an XML file.
  • the user web browser loads staging tools from the stage manager according to the user's collection file descriptor received.
  • the collection file descriptor can be a file from a remote file storage location or from the user's local hard drive.
  • the staging tool will load one or more default media-layers for the session.
  • the user can load an existing file with a collection of media-layers from a remote location on the web by specifying URL address or from a local hard drive. The user can also generate new or modify the loaded media-layers.
  • the modifications that are user's inputs include annotation, delete, insert, copying, pasting or drawing to the media-layers.
  • the updated collection file descriptor can be stored for later retrieval by the users in step 420 , or can be accessed by other users logged in the same session in step 422 .
  • step 424 if all tools and media-layers loads are completed, the process ends until further inputs from any of the users in the session.
  • multimedia content serves as the centerpiece for the creation of an interactive set of documents that are virtually bound into a file characterized as a master book 1601 as illustrated in FIG. 5 a .
  • the book 1601 may be designed to offer an entire course on an academic or trade subject.
  • an instructor i.e., principle 1607 in this instance
  • graphic e.g., animation, charts, 3-D
  • video e.g., video
  • voice e.g., voice
  • One or more students i.e., client 1619 in this instance
  • the book 1601 represents a collaborative planning document.
  • the book 1601 may represent collaborative document preparation as between lawyers, coauthors, musicians, etc.
  • Generation of book 1601 begins by loading a media application (e.g., Flash application) such as 110 a to 110 c as designated FIG. 1A as generated by the interaction of the codes in the user computers 130 to 134 and the codes from the host server 180 .
  • the book 1601 may be part of a larger environment referred to as a library 1623 .
  • the books are searchable either by collaborators involved in the use or the production of the book or by other persons or autonomous agents on the World Wide Web.
  • the book 1601 contains pages having multiple multi media layers and interactive features allowing a user, such as principle 1607 , agent 1613 and client 1619 to move between pages, between books in a library 1623 and between the pages and the larger World Wide Web, where principle 1607 , agent 1613 or client 1619 can obtain resource information 1605 , 1611 as further described below.
  • a conversion program 1609 b , FIG. 5 b resident on a server 180 may be required to display the page on a conventional computer display.
  • the pages may be created utilizing any appropriate technology, such as may be required to create text documents, graphic images, video images or data files.
  • the principle 1607 has several technologies from which draw upon in creating the master book 1601 , content or functionality, necessary for authorship of the principle's version of the master book 1601 .
  • the principle 1607 may create content utilizing a standard word processor and upload the content of the word processor into the master book 1601 .
  • the principle 1607 may import or utilize a conversion program that may by way of example be required to convert display data if needed into a format that can display master book 1601 on a computer display terminal.
  • converters such as by way of examples converters, convert content into layers that are then displayed on a browser on a computer display.
  • Templates may be provided to automatically create pages, place the pages within the book with specific layouts and with the assistance of converters display the pages on a browser on a computer display.
  • a template 1609 , 1617 may include or contain hotlinks, and meta tags an other computer code placed in a directory, such as associated with a layer (see, reference 141 , FIG. 1 ), but more generally any directory that is associated with the content of text documents, graphic images, video images, audio or data files that provide means by which certain data contained on a page can, for search purposes be retrieved using a search engine that provides resource information 1605 , 1611 as requested.
  • function feature 1609 is templates (see FIG. 5 b 1609 c ), and similar functional feature 1617 templates that may specify where images are placed within a series of pages that comprises book 1601 , or its sequential relationship to the pages that may include text, video, captions and data files.
  • the templates 1609 c in the functional feature 1609 and the similar templates in 1617 are not limited to specifying sequential placement of documents, but may also have features for the creation of dynamic buttons and installation of plug-ins.
  • the dynamic button and plug-in features permit users of the book to click into other books that may reside within a library 1623 of books such as one containing book 1601 .
  • the pages within book 1601 are in one embodiment dynamically swapped in and out or updated as dictated by the use to which the book is put.
  • Software means that provide for template creation, converters and plug ins are well known to those of ordinary skill in the art of computer programming for web browser applications and associating database content containing information pertinent to the application.
  • the principle 1607 may import through an API followed by a conversion that may by way of example be required to convert content 1609 d to display data if needed into a format that can display master book 1601 on a computer display terminal.
  • a principle, client and agent are referred to as elements in process described in FIGS. 5 a, 5 b ; however, as will be apparent the roles of theses elements are interchangeable depending on the functions performed.
  • the client may take on the role of a principle or an agent, and the principle may take on the role of the client.
  • the following description will not interchange roles. Therefore, assume for the sake of explanation that the principle 1607 requires services, information or other resources through agent 1613 as shown in FIG. 5 a .
  • functional feature 1629 labeled resource request contains customized content 1629 a that defines the services, information or other resources requested by the principle.
  • the content 1629 a utilizes a plug-in 1629 b to transfer the content.
  • the plug in may include an API 1631 .
  • the agent 1613 then utilizes the customized content 1629 a to access a service or resource 1611 to satisfy the request initiated by principle 1607 .
  • the agent obtains the resource information it inserts the information into the book via functional block 1615 (i.e., content, plug-in and appropriate API).
  • the resource 1611 utilizes functional block 1615 where a plug-in 1642 serves to imbed the resource 1611 information 1611 a for inclusion in the book 1601 .
  • the plug in 1642 may include an API 1643 .
  • the agent 1613 may bypass functional feature 1629 and obtain the information from viewing the master book 1601 and manually, i.e., through phone or other separate device, provide the service of obtaining the necessary service, information or resource requested by the principle 1607 .
  • the agent 1613 may thereafter electronically update the master book 1601 by providing necessary service, information or resource requested by the principle 1607 .
  • the agent 1613 can recalculate a hotel stay or flights based on a revised date, or calculate a computer cost based on selected parts based upon directly accessing and viewing the request to provide such information in the master book 1601 .
  • the invention herein finds applications where a group of users, such as depicted by client 1619 , plan to travel as a group, at least during a part of an extended trip.
  • This serves as one example how a master book 1601 unifies collaboration among a community of users.
  • An individual referred to as the principle 1607 , may initially construct an itinerary steps 5 - 6 and 7 - 8 , where major aspects of the itinerary are presented on the pages of book 1601 , also referred herein as a master book 1601 , as described above.
  • the principle 1607 may draw upon resources 1605 (steps 1 - 2 ) to which it may have access.
  • the pages of the book 1601 provide information regarding air line fares, schedules, points of interest to be visited with corresponding pictures and/or video graphics, and calendars having listed individual appointments to be kept during the course of the trip.
  • the principle 1607 may electronically notify the agent 1613 of the availability of pages requiring service.
  • the selected pages or the entire book 1601 are accessibly viewable by agent 1613 and further capable of being used to search resources 1611 by inclusion of the functional feature resource request 1629 (See FIG.
  • steps 30 - 33 through its user browser and then accesses a searchable data base to supply needed resource content 1615 (steps 11 - 12 ) that supplies in steps 9 - 10 information that the principle 1607 requires to complete the itinerary.
  • the principle 1607 may decide that the group (i.e., client 1619 ) desires to leave from a certain airport for a destination on a specific date and time.
  • steps 15 - 16 By making a page available to agent 1613 (steps 15 - 16 ) by using a plug-in 1629 b specially designed for this purpose, the agent 1613 would in turn supply (steps 13 - 14 ) the date, time, airline, price that the principle 1607 requires, and the information would automatically be incorporated the book 1601 as a page dealing with the itinerary.
  • the book 1601 would be made available (steps 21 - 22 ) for viewing and uploading to the other trip participants, (e.g., client 1619 ), for review, copying and alteration in steps 17 - 18 , if desired would be available and used by the client 1619 for the purposes set forth above.
  • the creation of the itinerary may be a completely collaborative process among the principle and one or more clients and therefore, some or all may already have the master book available and my in fact be viewing the master book as progress towards completion is made.
  • the content and or template modifications to book 1601 are indicated in steps 19 - 20 .
  • the client 1619 may incorporate their own special pick up, arrival and departure ground transportation, air line fares, schedules, points of interest to be visited and individual appointments to be kept during the course of the trip.
  • a client 1619 may desire to copy the book as in step 27 - 28 to create a derived or derivative master copy 1621 and later augment the derivative master copy 1621 with planned side trips or a diary.
  • the principle 1607 has access to a filter 1604 ( FIG. 5 b ) used to moderate and filter input, viewing permission, copying, adding and swap out content and publication and generally any of the rights that are granted vis-a-vis the U.S. Copyright Laws, Title 17 of the United States Code.
  • the system 1600 ( FIG. 5 a ) can track and trace all generations of duplications of a master book 1601 and its derivative master copies 1621 .
  • As is well know by those skilled in the art of computer programming access policies may establish whether the principle 1607 has access to a client's derivative master copy 1621 .
  • each time specific pages from a master book 1601 or derivative master book 1621 are inserted into a derivative master copy 1621 the new version will be traced and filed in trace 1625 , step 23 - 24 .
  • trace 1625 records the author, time and content of the change allowing all modifications to be tracked.
  • the principle through a permissions filter 1604 controls the copy addition, deletion, changes or modification of a page in the master book 1601 , or a page in a derivative copy of the book 1621 .
  • the invention herein also provides that the principle 1607 , may employ a rules based logic engine to auto copy or modify pages (e.g., update information) or as indicated in steps 25 - 26 the master book 1601 and derivative books may be placed in library 1623 as the specific application may require.
  • Those of ordinary skill in the art of computer programming understand the technologies needed to create rules based logic engines to auto copy and modify pages based upon logical inputs.
  • any derivative copy may be regarded as a master copy having the same principle or client or different principles and different clients. Additionally, there may be multiple clients as indicated above, each interacting with master book 1601 and each creating its own derivative master copy 1621 . Essentially the system 1600 may be utilized without detracting from the description herein for any master copy that is resident in the library 1623 or any derivative master copy 1621 in process or being changed or updated or has finally been edited.
  • Any master book 1601 , derivative master book 1621 or master book stored in the library 1623 may be published.
  • steps 34 - 35 indicated the publication of master book 1601 on the World Wide Web.
  • the principle or client may embed the master book 1601 or derivative master book 1621 into any web property.
  • These embedded master books can have various collaboration tools exposed for use.
  • Any input into a later generation published master book 1601 may serve as an input into the first master book, such as master book 1601 .
  • the filter 1604 as indicated previously can be used to moderate and filter such backward and forward alteration of generational master books, as regards input, viewing permission, adding and swap out content and copying of the publication 1628 and generally any of the rights that are granted vis-à-vis the U.S. Copyright Laws, Title 17 of the United States Code.
  • the principle 1607 has the ability through the use of plug-ins, content, template and converters as described in connection with functional feature 1609 ( FIG. 5 b ) to embed within the master book an autonomous software agent that may trigger the creation, duplication and/or publication of copies of the master book 1601 to both known and unknown clients (e.g., general public).
  • the master book may be published 1628 by the principle 1607 , to one or more clients 1619 with permission to further embed added content.
  • the client 1619 users add the content and return the related master books (i.e., derivative versions of the master book 1601 ). Note, that the clients 1619 can add content to the master book directly from the published books.
  • a flow chart details a method 1700 that two collaborators may employ as during a research project where outside research may be required.
  • principle 1607 e.g., one of the researchers
  • the principle decides if the client 1619 (e.g., the other researcher) needs to view the master book 1601 at this time. If the principle 1607 decides that the client needs to view the book 1601 , then the client 1619 is prompted or notified 1733 .
  • the prompt or notification can be any electronic notification.
  • the principle 1607 decides if agent resources are required 1709 and if the answer is “Yes” then the agent is prompted 1711 through plug-in 1629 b and it proceeds to fulfill the information request and updates 1715 the book 1601 .
  • decision blocks 1717 , 1721 if the information provided by the principle 1607 , agent 1613 or client 1619 requires a viewing of then either the principle 1607 or client 1619 is prompted 1719 , 1733 , respectively.
  • decision block 1731 allows the client to make changes 1729 , continuing working on or decide 1724 to make a copy 1725 of the master book 1601 .
  • the method permits the principle 1607 or the client 1619 to library the master book 1601 .
  • the agent as an autonomous agent, that is, one that essentially is a computer program that carries out the requirements to locate resources and update the master book.
  • the invention herein also regards those instances where the agent 1613 is assisted by a person that manually locates resources and updates the master book. Additionally in these instances when a person carries out the requirements to locate resources and update the master book, then the “agent function” is essentially performed by the actions described for the client 1619 .
  • FIGS. 7 a, 7 b , 7 c illustrate various browser images 1800 as provided for by loading a media application such as 110 a to 110 c as designated in FIG. 1A , which as earlier described is generated by the interaction of the codes in the user computers 130 to 134 and the codes from the host server 180 , with a plurality of tools into a one or more user computers such as allowing the accessing or logging in and accessing one or more user computers in a shared space in the network.
  • the step of accessing includes logging in if the user is not already connected to the host server.
  • the application of the present invention described in FIG. 5 , 6 comprises means to up load and/or view text documents, graphic images, and video images, audio or data files.
  • a user such as a principle 1807 by way of example J. J. Jones will have a designated home defining its space containing multimedia residing in database files on host server 108 referred to as My Books 1808 containing one or more specific files or books as may be listed in block 1820 as by way of example book names such as “College Course 101 ”.
  • the principle may invite people to view a book or the principle itself may delete a book.
  • the principle has been invited to view and/or update. As is apparent, as an invitee, the principle becomes client.
  • Principle 2 and Principle 3 have in the present example invited Principle J. J. Jones, to view and update “New Bus Plan” and “Travel Itinerary”, respectively.
  • J. Jones may (a) upload content, (b) create a New Book or (c) schedule a meeting.
  • a user may engage in a public chat.
  • Other features may be included such as publishing the book, creating a new book, scheduling a meeting, listing meetings, etc. without detracting from the spirit of the intention of the invention herein.
  • FIG. 7 b a principle 1607 will have a designated home defining its space containing multimedia residing in database files on host server 108 referred to as University Engineering Courses.
  • FIG. 7 b may also be considered in yet other examples of the operation herein as a library, such library 1623 .
  • the library itself may be the collaborative contribution of master books from many such principles.
  • the courses each take on the feature of a published master book 1601 ( FIG. 5 a ). Note that in certain applications the master book in a library may include various filter attributes such as read only.
  • the purpose of the master book 1601 with the courses is displayed in a browser window 1841 .
  • a user such as a client 1619 may view and create duplicates of the courses 1842 selected by clicking a dynamic button associated with reference courses 1842 .
  • a principle 1607 will have a designated home defining its space containing multimedia residing in database files on host server 108 referred to as University Engineering Course Selection 1850 .
  • the courses 1864 each take on the feature of a master book 1601 ( FIG. 5 a ).
  • the user, a student or client 1619 is again invited to duplicate 1860 the course content selection from courses 1864 .
  • the client 1619 may use the dynamic buttons 1854 , 1856 or 1853 to perform one of: viewing a lecture video, obtaining a lecture transcript or accessing course handouts, respectively.
  • the client 1617 must click dynamic button 1862 and read the license pertaining to the materials.
  • FIG. 8 illustrates a system 1400 for the creation of an interactive set of documents that are virtually bound into a file characterized as a master book 1601 in a shared space within a network as described in connection with FIG. 1A through FIG. 1G , and FIG. 5 through FIG.
  • a host server 1410 for communicating with database 1412 and file storage 1414 through network 1405 ; one or more user computers 1416 a through 1416 n with associated user applications for accessing and/or logging onto the host server and then accessing if the user is not already connected to the host, to join a shared space session with other user computers running user applications; and wherein the shared space session is generated by interaction of executable codes in the host 1410 and the user applications and the shared space session described by a session attribute list; an executable media application, such as an appropriately configured converter with a plurality of tools loaded into the user computers; at least one user provided content 1420 a , 1420 n installed into media-layers 1418 a , 1418 n ; and a stage manager 1422 a , 1422 n to facilitate the display of media-layer updates to other users in the shared space in one of a synchronous or asynchronous mode as described in connection with FIG.
  • a host server 1410 for communicating with database 1412 and file storage 1414 through network 1405
  • the system 1400 of the present invention further includes the means to create one or more archived books, and traces of all changes, updates, and additionally added information.
  • FIG. 9 illustrates a method 1500 for the creation of an interactive set of documents that are virtually bound into a file characterized as a master book 1601 in a shared space within a network as described in connection with FIG. 1A through FIG. 1G , and FIG. 5 through FIG. 9 having a host server 1410 for communicating with database 1412 and file storage 1414 through network 1405 .
  • the method 1500 to create master books and provide for interactive alteration among invited participants includes the steps of: accessing 1510 or logging in if not already connected to the host server, and/or one or more user computers in a shared space in a network, wherein the shared space is created by interaction of executable codes in the host and the user application and the shared space is described by a session attribute list; loading an executable media application 1515 with a plurality of tools into one or more user computers; using a stage manager tool 1518 from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by a file descriptor inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space; inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space 1520 ; and providing templates, plug-ins and converters 1525 to automatically create pages or manually input with specific layouts, whereby

Abstract

The present invention relates a method and system for creating a collaborative book in a shared network space including the steps of: logging in from one or more user computers to a shared space in the network from a user application to a host, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list; loading a media application with a plurality of tools into one or more user computers; inputting multi type content into the shared space; and displaying the content by computers in one of a synchronous or asynchronous mode; providing templates to automatically create pages with specific layouts, for each type content for searching resource information including collaboration and providing automatic page updates using searched resource information; and tracing user changes and searched resource information.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This is a continuation-in-part of and claims the priority benefit under 35 U.S.C. 120 of U.S. Pat. No. 7,933,956 entitled A System and Method to Create a Collaborative Web-based Multimedia Layered Platform, filed Jan. 24, 2007; U.S. patent application Ser. No. 12/319,807 entitled System and Method to Create a Collaborative Web-based Multimedia Contextual Dialogue filed on Jan. 13, 2009; U.S. patent application Ser. No. 12/378,805 filed Feb. 20, 2009 entitled System and Method to Create a Collaborative Web-based Multimedia Contextual Document, now abandoned; and additionally claims the benefit under 35 U.S.C. 119 (e) of U.S. Provisional Application No. 60/761,529, entitled A System and Method to Create a Collaborative Web-Based Multimedia Layered Platform, filed on Jan. 24, 2006, each of the entire disclosures of which are hereby incorporated by reference herein.
  • FIELD OF THE INVENTION
  • This invention generally relates to the field of asynchronous and synchronous web document production methods and systems.
  • BACKGROUND OF THE INVENTION
  • In the last few years, there has been an explosion in new forms of web based communication within a shared space. The synchronous form is most commonly practiced as Online Chat. With synchronous communication, like Online Chat for example, text is exchanged in real-time between participants. Although images can be provided to a limited extent, links to images or other multimedia is more commonly used. Another common form of synchronous communication is with web conferencing services. These services provide a discrete state synchronicity such that only one image can be shared at one time. Typically, once the session has ended, the images shared are lost. Many of the current online collaboration systems are beginning to record the sessions. However, these recording are only recoding a series of images for play back.
  • The most common asynchronous forms of collaboration are Forums, blogs and WIKIs. In the asynchronous case, visitors can upload text or images so that all subsequent visitors can browse and see the text or images. Blogs and forums have an advantage over Chat in that conversations can be linked into ‘threads’. This allows the user to follow a set of contributions in a linear and/or nested fashion. Lacking is the real-time aspect as well as the ability to layer media. Currently even if you can upload an image or multimedia clip into a chat room or blog, it is not known for visitors to alter, manipulate or annotate over the original posting. What is common to these forms of shared communication is that they are linear. All information whether text or image, is accessed in order. A comment in a blog about an image does not appear on top of the image, but instead next to it as with ‘threads’. The same holds true for a chat box. Users must cut and paste to refer to a past event.
  • Lacking is a system that will allow both synchronous and asynchronous communication using discrete media layers such that information can be organized by time and space which in turn can allow for a variety of organizational metaphors.
  • It will be desirable that multiple users are able to interact with one another and perform a plurality of multimedia tasks in a virtual and synchronized shared environment; or to be able to access and review the performed tasks from local or remote sources at will in any order. It will also be desirable to allow users to set control or restrict the viewing of media layers in the same shared environment through different filtering algorithms. It is also desirable that an original image can seem to be altered or manipulated by overlaying various media-layers together.
  • The following terminologies used in the application are selectively defined by online dictionaries such as Wikipedia to help understanding:
  • Account Owner (creator)—The person who owns, creates or maintains or provided stewardship over a particular session and all options, rights relevant to that session.
  • Annotation—Extra information associated with a particular point in a document or other piece of information.
  • API—An application programming interface (API) is the interface that a computer system or application provides in order to allow requests for service to be made of it by other computer programs, and/or to allow data to be exchanged between them
  • Blog—A blog is a website in which journal entries are posted on a regular basis and displayed in reverse chronological order. The term blog is a shortened form for web log. Authoring a blog, maintaining a blog or adding an article to an existing blog is called “blogging”. Individual articles on a blog are called “blog posts,” “posts” or “entries”. A person who posts these entries is called a “blogger”. A blog comprises hypertext, images, and links (to other WebPages and to video, audio and other files). Blogs use a conversational documentation style. Often blogs focus on a particular “area of interest”, such as Washington, D.C.'s political goings-on. Some blogs discuss personal experiences.
  • Collection—One or more media-layers that have an organizational structure. Typically this is stored as an XML file.
  • Converter—Programs for converting audio files, video, animations or applets of varying degrees of interactivity and function, presentations, documents, spreadsheets among other files in the original data format to another format that allows information to be accessible through a browser using a media application.
  • Common Web Browser—A web browser is a software application, technically a type of HTTP client, that enables a user to display and interact with HTML documents hosted by web servers or held in a file system. Popular browsers available for personal computers include Microsoft Internet Explorer®, Mozilla Firefox®, Opera®, Netscape®, Apple Safari® and Konqueror®A browser is the most commonly used kind of user agent. The largest networked collection of linked documents is known as the World Wide Web. It is assumed that all common web browser will have Macromedia Flash®installed or will support the installation and proper execution of Flash®applications.
  • Dynamic button—A clickable link that can jump the user to a different page in the same book, a different book, generate a new email in the users local email application, or send the user to a web page in a new browser window.
  • Event—A set of codes that describe the modification of a media-layer.
  • Images—defined as photographs, drawings (vector and raster), diagrams, etc.
  • Media-layer (media layer) (layer)—A media-layer is defined as a container that supports the display and modification of media and plug-ins. Media-layers have meta information, or attributes, such as; author, time/date created, its parent media-container, a list of children media-containers, position within 3D space, stacking order relative to the parent media-layer, size, reference to media or a plug-in that is assigned to the media-layer, etc
  • Media (multi)—Multimedia is the use of several different media to convey information (text, audio, graphics, animation, video, and interactivity).
  • Medium—defined as the singular of multimedia. For example, text, a media, is a singular example of multimedia.
  • Network—A computer network is two or more computers connected together using a telecommunication system for the purpose of communicating and sharing resources. Examples include but are not limited to a WAN or LAN connection or an internet, intranet or extranet connection.
  • Online Chat—Online chat can refer to any kind of communication over the internet, but is primarily meant to refer to direct 1 on 1 chat or chat rooms, using tools such as instant messenger applications-computer programs, Internet Relay Chat, talkers and possibly MUDs, MUCKs, MUSHes and MOOes.
  • Plug-in—A plug-in is a computer program that can, or must, interact with another program to provide a certain, usually very specific, function. Typical examples are plug-in to display specific graphic formats (e.g., SVG if the browser doesn't support this format natively), to play multimedia files, to encrypt/decrypt email (e.g., PGP), or to filter images in graphic programs. The main program (a web browser or an email client, for example) provides a way for plug-in to register themselves with the program, and a protocol by which data is exchanged with plug-in. Plug-ins are slightly different from extensions, which modify or add to existing functionality. The main difference is that plug-in generally run within a sandbox, rely on the main program's user interface, and have a well-defined boundary to their possible set of actions.
  • Room—A Room is a common reference to a ‘shared space’. A room contains default tools, rules and permissions that are set and controlled by the room administrator.
  • Space—A shared virtual reference point where as multiple users can interact in real-time upon shared objects.
  • Space Creator—The User creates an account to which a ‘space’ is allocated where other individuals also using a browser can engage in the synchronized or unsynchronized viewing and annotating of images.
  • Stage—A reference coordinate system that informs where media should be displayed. The most typical stage is a two dimensional Cartesian coordinate system where 0,0 is position in the upper right of the display area.
  • Session State—The state of all objects, GUI tools and controls, and media-layers, at any given time.
  • Sidebar panel—a window within a browser such as Windows® desktop (Windows is a registered trademark of Microsoft Corporation). Sidebars often perform various tasks, such as displaying the time and date and showing the CPU usage.
  • Threads—Threads in a forum are either flat (posts are listed in chronological order) or threaded (each post is made in reply to a parent post). Sometimes, community members have a choice on how to display threads.
  • Tools—GUI applications that affect the state of other tools and media-layers.
  • Tool: scene manager—specific GUI applications that affect the overall display of the stage.
  • Web based shared space—This describes a single point of reference for multiple users to access and add and modify information from a web browser for viewing by others via that same point of reference.
  • WIKI—A website that allows the visitors themselves to easily add, remove, and otherwise edit and change available content, and typically without the need for registration.
  • Whiteboard—a drawing utility, commonly supplied as part of a collaboration framework to allow distributed users to share a common drawing space.
  • SUMMARY OF THE INVENTION
  • The present invention relates to the field of collaborative computing, and more particularly to a method for creating a collaborative book in a shared network space comprising the steps of: accessing one or more user computers in a shared space in the network, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list; loading a media application with a plurality of tools into one or more user computers; using a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by at least one file descriptor inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space; and providing templates to create pages with specific layouts, providing plug-ins for each type content; and displaying the content by computers in the shared space in one of a synchronous or asynchronous mode; and searching additional resource information, providing converters for displaying the book including: permitting collaboration among users and providing automatic page updating using searched resource information; and tracing associated user and searched resource information changes to the book.
  • A computer system for creating a collaborative book in a shared network space comprising: a means for accessing one or more user computers in a shared space in the network, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list; an executable media application code with a plurality of tools into one or more user computers; a means for inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space; a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by a file descriptor inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space; and a display for displaying the content by computers in the shared space in one of a synchronous or asynchronous mode; executable code for providing (a) templates to create pages with specific layouts, (b) plug-ins for each type content for searching additional resource information, (c) converters for displaying the book including: including a means for permitting collaboration among users and providing automatically created page updates using searched resource information; and tracing associated user and searched resource information changes made to the book.
  • The invention also relates to a method wherein the media application is a Flash application, Java application or browser based scripts.
  • The invention also relates to a method of a user moving pages in the book between one or more books in a library and to/from a website on the World Wide Web.
  • The invention also relates to a method of using a template to permit content creators to decide where to place the content within a book; using the template to dynamically swap in and out pages within the book as dictated by the use to which the books are put; and using the template to permit the use of one or more of dynamic buttons and plug-in features such that users of the book may access books that reside within a library of books.
  • The invention further relates to methods for publishing the book, storing the book in a library for publication, embedding the master book into in any web property, embedding into the master book an autonomous software agent to trigger one of the creation, duplication and/or publication of copies of the book and filtering to moderate and filter input, viewing permission, copying and publication.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Understanding of the present invention will be facilitated by consideration of the following detailed description of the preferred embodiments of the present invention taken in conjunction with the accompanying drawings, in which like numerals refer to like parts, and wherein:
  • FIG. 1A depicts the embodiments of a system to create a session in shared spaces for the collaborative web-based media-layered platform in a network environment in accordance with an embodiment of the invention;
  • FIG. 1B illustrates the system initiation to create a session of collaboration in media-layers in accordance with an embodiment of the invention;
  • FIG. 1C1 is an embodiment of a system illustrating the process of establishing and operating a session within a user application such as a web browser using various tools in an application in accordance with an embodiment of the invention;
  • FIG. 1C2 illustrates another embodiment of various components of a Flash application tools interacting with the user's media-layers during a session in accordance with an embodiment of the invention;
  • FIG. 1D is a screen shot illustrating the construct of a page as a collection of media-layers in a Book metaphor in accordance with an embodiment of the invention;
  • FIG. 1E illustrates an example of a media-layer as a container for an application or plug-in to create media object elements within the media-layer in accordance with an embodiment of the invention;
  • FIGS. 1F and 1F1 illustrate the construct and functionality of a Book metaphor and a page using media-layers and metaphor specific tools in accordance with an embodiment of the invention;
  • FIG. 1G illustrates an example of staging and synchronizing media-layers using a Flash application tool for the construct of a page as a collection of media-layers in accordance with an embodiment of the invention;
  • FIG. 2A illustrates an example of collaborative actions in a web conferencing environment in accordance with an embodiment of the invention;
  • FIG. 2B illustrates an example of synchronizing an annotation of a drawing in a shared space through various input devices in accordance with an embodiment of the invention;
  • FIG. 3A to 3E depicts various functions and features of the invention in creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 4 is a flow chart depicting a method to collaborate a web browser based media-layered session in a network environment in accordance with an embodiment of the invention;
  • FIG. 5 a depicts a diagram illustrating the states of various functions of the invention for creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 5 b depicts a diagram illustrating the states of various functions of the invention for creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 6 depicts a flow chart for performing various functions of the invention in creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 7 a depicts a browser with various functions and features for creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 7 b depicts a browser with various functions and features for creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 7 c depicts a browser with various functions and features for creating a collaborative multimedia platform in accordance with an embodiment of the invention;
  • FIG. 8 is a system to collaborate using a web browser based media-layered session in a network environment in accordance with an embodiment of the invention;
  • FIG. 9 depicts a flow chart of a method for creating a collaborative multimedia platform in accordance with an embodiment of the invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The following description includes the best mode of carrying out the invention. The detailed description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is determined by reference to the claims. Each part is assigned, even if structurally identical to another part, a unique reference number wherever that part is shown in the drawing figures.
  • The present invention, relates to the field of collaborative computing, and more particularly, to a system and method for providing a browser-based program to create, and configure a shared space whereby multiple users can access this shared space to perform tasks and interact such as input, modify text and delete images, drawings and other multimedia via media-layers in a real-time synchronous manner. A shared space is defined as a virtual reference point whereas multiple users can interact in real-time upon shared objects. It is a conceptual construct created by processing executable computer codes from a plurality of programs or plug-ins typically using Flash Virtual Machine (VM) or Java VM. A session is defined as the state of all objects, GUI tools and controls, and media-layers, at any given time within the shared space. Each media-layer can serve as a container for shapes and objects as well as other programs such as a text editor, thumbnail viewer, MP3 player, games, etc. The invention also allows which media-layer(s) to display via organization metaphors and filtering criteria. The invention also allows for offline or unsynchronized interaction with objects of a session. Offline events are recorded for later integration with the session.
  • FIG. 1A of the present invention relates to a distributed web based conferencing system, apparatus and method, which includes at least one central processing computer or computer network server. FIG. 1A depicts the basic foundation of the invention of system 100A to create a session 140 in shared spaces 140 a to 140 c for multiple users to collaborate on a web-based platform with created media-layers 141 a to 141 c within a network 112 environment. The system 100A is derived from four main components. Client or user computer(s) 130 to 134, host server 170, database 104 storage device, file storage 108 which is accessible through a web server 106. Each component may be on the same computer or separate computers. It is not necessary that each computer is of the same OS, nor CPU, type. Servers 150, 160 include at least one controller (not shown) or central processing unit (CPU or processor), at least one communication port or hub, at least one random access memory (RAM), at least one read-only memory (ROM) and one or more databases such as database 104 or data storage devices 108. All of these later elements are in communication with respective CPUs to facilitate the operation of the host server 170. The server 170 may be configured in many different ways. For example, host server may be a conventional standalone server computer or alternatively, the function of server may be distributed across multiple computing systems and architectures.
  • Server 170 also may be configured in a distributed architecture, wherein databases and processors are housed in separate units or locations. Some such servers perform primary processing functions and contain at a minimum, a RAM, a ROM, and a general controller or processor. In such an embodiment, each of these servers is attached to a communications hub or port that serves as a primary communication link with other servers such as web server 106, or user computers (e.g., 130, 132, 134) and other related devices. The communications hub or port may have minimal processing capability itself, serving primarily as a communications router establishing a corresponding link 119 with the web server 106. A variety of communications protocols may be part of the system, including but not limited to: Ethernet, SAP, SAS™, ATP, Bluetooth, GSM and TCP/IP.
  • Data storage devices such as file storage 108 may include a hard magnetic disk drive, optical storage units, CD-ROM drives, or flash memory. Data storage devices contain databases such as database 104 used in processing transactions and/or calculations in accordance with the present invention, including at least a user subscriber database and a user content database. In one embodiment, database software creates and manages these databases. Conference related calculations and/or algorithms of the present invention are stored in storage device and executed by the corresponding CPU.
  • The controller comprises a processor, such as one or more conventional microprocessors and one or more supplementary co-processors such as math co-processors. The processor is in communication with a communication port through which the processor communicates with other devices such as other servers, user terminals or devices. The communication port may include multiple communication channels for simultaneous communication with, for example, other processors, servers or client terminals. As stated, devices in communication with each other need not be continually transmitting to each other. On the contrary, such devices need only transmit to each other as necessary, may actually refrain from exchanging data most of the time, and may require several steps to be performed to establish a communication link between the devices.
  • The processor also is in communication with a data storage device. The data storage device may comprise an appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, RAM, ROM, flash drive, an optical disc such as a compact disc and/or a hard disk or drive. The processor and the data storage device each may be, for example, located entirely within a single computer or other computing device; or connected to each other by a communication medium, such as a USB port, serial port cable, a coaxial cable, an Ethernet type cable, a telephone line, a radio frequency transceiver or other similar wireless or wired medium or combination of the foregoing.
  • The data storage device may store, for example, (i) a program (e.g., computer program code and/or a computer program product) adapted to direct the processor in accordance with the present invention, and particularly in accordance with the processes described in detail hereinafter; (ii) a database adapted to store information that may be utilized to store information required by the program. The database includes multiple records, each record including fields specific to the present invention such as membership rates, subscribers, sessions, etc.
  • The program may be stored, for example, in a compressed, an uncompiled and/or an encrypted format, and may include computer program code. The instructions of the program may be read into a main memory of the processor from a computer-readable medium other than the data storage device, such as from a ROM or from a RAM. While execution of sequences of instructions in the program causes the processor to perform the process steps described herein, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of the processes of the present invention. Thus, embodiments of the present invention are not limited to any specific combination of hardware and software.
  • Suitable computer program code may be provided for performing numerous functions such as alternative steps of invention. The computer program code required to implement the above functions (and the other functions described herein) can be developed by a person of ordinary skill in the art, and is not described in detail herein.
  • The term “computer-readable medium” as used herein refers to any medium that provides or participates in providing instructions to the processor of the computing device (or any other processor of a device described herein) for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as memory. Volatile media include dynamic random access memory (DRAM), which typically constitutes the main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM or EEPROM (electronically erasable programmable read-only memory), a FLASH-EEPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read.
  • Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to the processor (or any other processor of a device described herein) for execution. For example, the instructions may initially be borne on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over an Ethernet connection, cable line, or even telephone line using a modem. A communications device local to a computing device (or, e.g., a server) can receive the data on the respective communications line and place the data on a system bus for the processor. The system bus carries the data to main memory, from which the processor retrieves and executes the instructions. The instructions received by main memory may optionally be stored in memory either before or after execution by the processor. In addition, instructions may be received via a communication port as electrical, electromagnetic or optical signals, which are exemplary forms of wireless communications or data streams that carry various types of information.
  • Server 170 of the present invention may also interact and/or control one or more user devices or terminals (e.g., 130, 132, 134). The user device or terminal may include any one or a combination of a personal computer, a mouse, a keyboard, a computer display, a touch screen, LCD, voice recognition software, or other generally represented by input/output devices required to implement the above functionality. The program also may include program elements such as an operating system, a database management system and “device drivers” that allow the processor to interface with computer peripheral devices (e.g., a video display, a keyboard, a computer mouse, etc.).
  • The shared spaces 140 a to 140 c emulate and share the contents of the session 140 where executable computer codes in both the client or user computers 130 to 134 and the host 102. The executable codes in each computer may be different, but the intended results of the invention are achieved. The state of the session 140 is maintained on the host 102 during a live session 140 then the database 104 at the end of a session. All client or user computers 130 to 134 that are logged into a session 140 are constantly updated with changes to the session 140 in real time. If permissions are granted, any client can initiate a change to the state of the live session. Once this change has been sent, all client computers 130 to 134 are updated with the change.
  • The system 100A comprises of a host 102 in synchronous communication with one or more user computers 130 to 134. In an embodiment, the host is a server in communication with a database 104; where the host is also in communication with a web server 106 that communicates with a file storage 108. The database 104 can be in a separate server, or can be part of the host 102 within the same server 150. Similarly, the web server 106 and the file storage 108 can be separate units or can be integrated into a server 160. Yet in another embodiment, a host 170 is a server including the functions of the database 104, the web server 106 and the file storage 108. The physical location of the database 104, file storage 108 and the method of writing the computer executable codes being integrated into the host server 102 is not important to the invention as long as the functions are accessible to the host 102 and to the user computers 130 to 134.
  • In an embodiment, each of the user computers 130 to 134 has an operating system 142 a to 142 c such as the Microsoft Windows XP®, Linux®, Macintosh OSX® or any third party operating system. The operating system in each of the user computers 130 to 134 need not be the same as long as it supports a web browser or other application to access the internet and supports the execution of codes to facilitate the intended media functions of the invention. In another embodiment, compiled Flash VM executable codes of the application 110 are downloaded before the creation of a shared space 140 a to 140 c to each of the user computers 130 to 134 from the host session 140 through the network 112 and links 124 to 128. Yet in another embodiment, the application 110 can be native to each of the user computers 130 to 134 as media applications 110 a to 110 c.
  • One or more media layers 141 a to 141 c are created and respective media tools are from media applications 110 a to 110 c is generated by the interaction of the codes in the user computers 130 to 134 and the codes from the host server 180. The network 112 and the corresponding links 114, 118, 120 to 128 are part of the Wide Area Networks (WAN), Local Area Network (LAN) through Ethernet connections or wireless connections. Yet in other embodiments, the network and the links can be Local Optical Networks (LON) or direct fiber optic links or direct terminal connections or plain old telephone service (POTS). In all forms of link communications within the network 112, the communications can be enhanced with known encryption protocols to improve security.
  • All services as contained within the host server 180 are equipment selected from the list to include a server, work station, personal computer, laptop computer, Personal Digital Assistant (PDA), an Intelligent Electronic Device (IED) or any suitable computing platform with sufficient memory and processing power to perform the functions as a server in a network environment. The user computers 130 to 134 are equipment selected from the list to include a server, work station, terminal, personal computer, lap top computer, Personal Digital Assistant (PDA), electronic tablet, handheld wireless device, a cellular phone, an Intelligent Electronic Device (IED) or any suitable computing platform with sufficient memory and processing power to perform the functions as a user computer to perform media inputs in a network environment.
  • Yet in others embodiments, the system 100A can be extended to include broad applications such as web conferencing, local conference presentations projecting synchronized annotations or pointing tool to contents on multiple screens to mass audience, on line interactive courses and tutoring, live interactive interviews to multiple interviewees in different geographical locations, interactive debate forums using multimedia, interactive cellular phone chats and games, secured synchronized interactive voting method combined with secured voter identification, live military battlefield operational command, remote interactive clinical instructions and operation training procedure; and electric power utility interactive service, support and trouble shooting etc. Said examples and the contents desired for the execution of said example can be assembled before and during synchronized events. Content can also be made available in an unsynchronized fashion such that independent content review or read only publishing can be supported.
  • FIG. 1B illustrates the system 100B initiation to create a session 140 of collaboration in media-layered 141 d to 141 f within space 140 d that holds media elements 115 a, tools 110 d (Flash application tools) or plug-ins 115 b and 115 c. Plug-ins 115 b and 115 c are independent applications that must conform to the system's API 143 a, 143 b as well as be compatible with the system's runtime environment. For example, if the client system is a macromedia Flash application, then the plug-in 115 b and 115 c must also be a Flash application. Said plug-ins 115 b and 115 c can be accessible either locally from the client computer 136, or through a local connection, or a network 112 a. A plug-in 115 b or 115 c can, however, manage the execution of the tools of an application not of the same executable code base as the client application. For example, a Flash plug-in 115 b or 115 c can manage the execution of the Java application as relevant to the client computer 136.
  • In an embodiment, the initialization of the system 100B (in the synchronized state) requires that the user's or client's computer 136 has internet access through link 124 a to network 112 a and the ability to support compiled Flash based applications. A typical configuration will involve the use of a common web browser with a flash plug-in and JavaScript enabled. Through the use of a URL, the user or client makes a request to join a session 140 by sending login credentials to the host 102 a. The host 102 a in turn will query the database 104 a to determine the tools 110 d that must be downloaded and the current session 140 state parameters. In addition, plug-ins 115 b and 115 c are sometimes downloaded from third party servers 107 a and 107 b. Instruction and location of said plug-ins 115 b and 115 c are provided by the host 102 a.
  • The host 102 a first sends a base application that provides a synchronizing connection between that user 136 and the host 102 a. A standard socket connection is established. Should this fail, High Ports are tested for the ability to exchange data. Should this fail, ports 80 and 81 are checked via standard HTTP protocols. Once a connection by links 114 a and 124 a from the user 136 to the host 102 a has been established, the host 102 a will send a list of required application tools 110 d to be loaded by the user computer 136. By only loading those tools 110 d that are required, the system in the user's computer 136 will start faster with a lower memory requirement. Should the user choose to run in ‘thin’ mode, those tools 110 d that are only needed on demand will be loaded into memory during their use and unloaded after their use is no longer required.
  • FIG. 1C1 is an embodiment of a system 100C illustrating the process of establishing and operating a session within a user application such as a web browser 140 j using various tools in Flash application 110 e. When a user 135 logs onto the system 100C via the internet, LAN or WAN 112 b, the user 135 is registered in a shared virtual environment (session 140 k) based on user's credentials and other parameters supplied at log on. In this exemplary example, the flash application 110 e is loaded on to the client's computer 135 by the client's web browser 140 j. This flash application 110 e in turn, loads a communication synchronizer application 113 that contacts the Host's server synchronization service 102 d and requests to be registered with a particular shared space for a session. Once this connection has been established, all communication between the client application 110 e and the host sync service 102 d happen between these two applications.
  • Based on user credentials and other parameters supplied, a list of tools and their location(s) on the file storage server(s) 108 a is generated. This list is passed to the flash application 110 e. The flash application 110 e then loads a stage manager tool 1100 b into the buffer memory from the web server 106 a. This tool 1100 b creates and manages the stage 1102 b. Once this is done, the flash application 110 e then sends a message back to the file storage server 108 a via sync application 113.
  • One of the tools that are loaded is the stage manager 1100 b. This tool 1100 b, once loaded, looks at the attribute list of the current room for the session. One item on that list is the type of layout to be used on the stage. If any other layout is defined besides ‘default’, additional tools 1104 b are downloaded to support the additional features. The stage manager 1100 b is then provided a list of media-layers 1108 b to 1112 b. Those media-layers that are listed as ‘active’ should be currently displayed. Active media-layers 1108 b and 1112 b are accessed, loaded and displayed on the stage 1102 b. Once complete, non-active media-layer(s) 1110 b are downloaded and stored in cache memory in a prescribed order if this option was selected. All of the media-layers together, both loaded and unloaded, 1108 b to 1112 b are called a ‘collection’.
  • The relationship of all media-layers 1108 b to 1112 b to each other can be stored in an XML file known as the ‘collection’. The most exemplary example is the default stage manager system where all media-layers are displayed using the Cartesian coordinate system where the y axis is inverted. An example XML collection file follows: TABLE-US-00001 . . . <collection type=‘book_simple’ label=‘my book’ authorID=‘23jkl4johnsmith’ . . . ><tools><page_navigator pluginRef=“ . . . /plugins/book_nav.swf”/><page_thumbnail_viewer pluginRef=“ . . . /plugins/thumb_view.swf”/> . . . <tools/><layer ID=‘a’ label=‘title page’ parent=‘top’ z=0 . . . ><children 0=‘b’/> . . . <layer/><layer ID=‘b’ label=‘title page’ parent=‘a’ z=1 . . . >< . . .
  • The stage manager tool 1100 b then checks to see what type of collection has been loaded. In this case, it is a ‘book_simple’ type collection. The tools 1104 b required for this type of layout is listed in the ‘tools’ section of the XML. The client flash application 110 e then downloads into memory those tools 1104 b listed.
  • FIG. 1C2 illustrates another embodiment of various components of the Flash application 110 e interacting with the user's media-layers 1108 to 1112 on the stage 140 f. Although there are a number of possible combinations of tools that can be loaded, the one tool that is always loaded is the stage manager 1100. The stage manager tool 1100, among other things, established the coordinate system and layout format that will be populated by media-layers 1108 to 1112. The most typical configuration of the stage 1102 is a two dimensional cardinal system where 0,0 is located on the upper left most side of the application window placed just under the displays for session and user information and controls. These controls are typically displayed at the top of the application window. The list of active media- layers 1108, 1112 are passed to the stage manager 1100. The media- layers 1108 and 1112 that are tagged as ‘visible’ are loaded first and then displayed in a stage 1102.
  • A media-layer is a container that serves as a reference point for media as well as other media-layers. Since media- layers 1108,1110 can be attached to another media-layer 1112, nesting of media-layers can occur. For example, a ‘parent’ media-layer 1112 contains an image of a human face on it. A ‘child’ media-layer 1110 is nested on top with a mustache drawn over the face, and another ‘child’ media-layer 1108 is nested on top with eye glasses drawn. When the parent media-layer's 1112 object is moved or hidden, the two child media-layer's 1110 1108 objects will also move or be hidden, thus maintaining their visual relationship. Each child however can have its visibility setting changed by a parent or another media-layer in the patriarchy. A media-layer from outside the patriarchy cannot modify a media-layer unless such functionality is support by the system's API.
  • A screen shot is taken from the product Vyew® in FIG. 1D to illustrate the construct of a page 140 h. In FIG. 1D, page 140 h is a collection of media-layers 141 g to 141 l. A media-layer such as 141 h is a container to execute the codes of an application or a plug-in. For example, media-layer 141 h contains a plug-in 146 d where a plurality of media object elements can be executed, such as 146 b to execute an mp3 music player in the media-layer 141 h. Another example, media-layer 141 g is a gif image, which is currently selected. It has the ability to render bitmaps and vector information (images or animations) directly to the display. Media-layers can also display other compliant applications. The scale and position of a media layer 141 g can be modified by using tool 146 a which is part of toolset 141 l within the page 140 h. Each of the media layers 141 g to 141 l is referenced to a space coordinate origin of (0,0,0) at the upper left corner of the page 140 h. The attributes of the media-layers 141 g to 141 l are referenced in a collection file descriptor such as in a XML file.
  • FIG. 1E further illustrates another example of a media-layer 141 ha as a container to a media application or thumbnail viewer plug-in 146 da creating a plurality of media object elements within a media-layer 141 ha. For example the thumbnail viewer plug-in 146 da is referenced on a media-layer. Once this plug-in 146 da had been initialized, a popup tool 146 ba will assist the user in configuring the plug-in 146 da. In this example; how to access images 190 a to 190 d that are stored on a third party server. The user selects a set of images from the third party server 140 ha. Those images 190 a to 190 d are then place in new media-layer(s) or a reference of these images 190 a to 190 d are passed to the thumbnail viewer 146 d via the systems API set shown in FIG. 1B.
  • FIGS. 1F and 1F1 illustrate the construct of a Book metaphor using media-layers created and managed by tools 1116 c. After the stage manager 1100 c invokes the book metaphor toolset 1116 c, a media-layer 144 a labeled as ‘cover’ 144 a of a book image 144 b is loaded into a tool 116 c that supports the book metaphor.
  • Another media-layer 141 m could then be created as a page. The media layer of the page 141 m holds object elements such as a graphic of paper texture 140 d. This media-layer of page 141 m would be set as a child to the media-layer of the book 144 a as well as have the attribute of ‘page=2’ 145 a. A third media-layer 141 n would contain an image and this media-layer 141 n will have a Z value of “1” placing it over the page 141 m media-layer and then set as a child to this page 141 m media-layer. Other media-layers 141 p with annotation and media can be added as children to either the page 141 m media-layer or one of the media-layers 141 n that has been already set as a child to the page 141 m media-layer. When the book 144 a media-layer is displayed on the stage (not shown), the other children media-layers 141 m to 141 p would be hidden. When the user ‘opens’ the book 144 a, the cover 144 b media-layer would hide and the page 141 m media-layer with its children and subsequent generations 141 n, 1441 p would appear. Because we are employing a book metaphor 144 a, tools 1116 c of FIG. F1 would be provided to the user that would assist in the visibility, ordering and the setting of relationships between media- layers 144 a, 144 b, 141 m to 141 p. The user would not know about child or parent or media-layers, only that they created a book 144 a, and that they can add pages, and then add content to those pages. In another example, other metaphors not shown could be one of a 2.5D environment where media-layers are expressed as 2D planes intermixed with 2.5D objects. A set of such as six media-layers can be set as children to a parent media-layer thus creating a cube for the 2.5D environment. These metaphors are supported with graphics that support the navigation and ordering of the multimedia elements that appear on each media-layer. Since all media is displayed using media-layers and all media-layers can have their visibility, stacking order, position, relationships, etc. modified; then various tools and GUI (Graphical User Interface) elements in the menu tool bars can be created to managed these attributes in a more user friendly method. Typically, metaphors that humans are familiar with are used.
  • The issue of concurrent users in making an annotation to the media layer is addressed next. Unique to this invention is that ability to share in real-time, near real-time as well as maintaining persistence, the ability to create, modify and delete media-layers and the media elements associated with those media-layers and regulate access to those media-layers. In addition, all tools and User Interface (UI) elements can be controlled at runtime based on commands from the stage manager. As such, not all users logged into a shared space will see that same thing if such modifications are selected. For example, the administrator of the shared space may wish to have all the tools made available to him or her. However, all other users who are of type ‘guest’ will not see any tools. Those users who are of type=“invited” may see only a subset of tools that the administrator sees.
  • When a user is logged into the system, actions that are performed on the media or changes to the media-layer's attributes are tracked and sent to the server. The server maintains a log of the actions and the resulting status of media-layers and their media. The server then repeats the actions to all users who are logged into the same session. When users enter in to a session, they immediately load all active media-layers, media and plug-ins. In this way, every user who is logged into the system has a copy of the media elements and only has to execute the actions that were sent by the server. Since all users can (if allowed by the administrator) have their action communicated back to the server, everyone's actions within the space is reflected on the display of all concurrent users. If the administer allows more then one user access to a media-layer, then only one action may occur at one time within a media-layer. In other words, if a user initiates an action, no other actions can take place until the first action is complete. Concurrent actions can occur on separate media-layers. The administrator can select that all actions on media-layers are NOT locked. This means that if two users click on the same media-layers media, then whomever's event is sent last, will have said event respected unless the object is deleted or somehow unable to execute the later event.
  • A whiteboard tool perform the unique function of creating a new media-layer every time a line is started and then stopped. Each line and/or shape in the whiteboard tool library is treated like an individual object on its own media-layer.
  • For whatever metaphor employed, the information required to create and support an ordering construct is managed by the stage manager. All rights to what media-layers and tools are loaded, seen and how they function is controlled by the user or administrator who created the space (account). The administrator can pass the rights of a media-layers and tools to anyone(s) or to everyone.
  • FIG. 1G illustrates an example of staging and synchronizing media layers using a Flash application tool for the construct of a page 004 as a collection of media- layers 001 and 002. Each media- layer 001 or 002 has attached to it, a set of corresponding attributes 147 or 149 that inform the stage manager 1100 a also shown as 1100 b in FIG. 1C1 on how to manage a respective media-layer. For example, media-layers with the media- layer ID 001 and 002 respectively have been placed on the stage 1102 a of a Flash application 110 f to be displayed. Media-layer 001 may have the following attributes: Layer ID (001), Position X1 (30), Position Y1 (30), Position Z (0), Scale in X (100), Scale in Y (100), Scale in Z (100), Rotation (0), location of media object ( . . . //arch_exmpl.jpg), type of media object (image), Date Created (some date), Date last modified (some date), Date deleted (some date), ID of the user that created this layer (jones43), etc. From this information, the stage manager will know to load a jpg image from a given location and display that image, unaltered 30 units to the right and 30 units down. Media-layer 002 may have the similar attributes with Position X as (40), Position Y (40) and Position Z (1). In this case, the text field would appear within the application with the image in media-layer 001 under the text of media-layer 002. If another user with a client computer 137 or 138 accesses this same session, then the same steps will repeat, thus assuring that both client computers 137 and 138 are displaying the same thing.
  • Interacting with media objects in a synchronized mode is discussed next. The stage manager tool 1104 a of the system 110 b insures that all changes in state of a media-layer or actions that are passed to the media-layer from that media-layer's contents, is communicated to the host server 102 c to either be recorded, or sent to some or all of the other client computers 137 and 138. This is accomplished by the host server 102 c maintaining a list of all subscribed client computers 137 to 139. As an event is received from a client computer 139, that event is logged and stored either on the host server 102 c and/or on the database 104 b. This event is then passed to the rest of the client computers 137, 138 on the subscriber list. The event is then replicated on all client computers 137, 138, however, in rare cases, an exception rule can intercept the event and then follow a defined action which may or may not mimic the original event. For example, a client computer 137 may click on an object in a media-layer 002 thus making that object interactive. The client 137 then moves the object 002 from one location to another, thus creating an event. The changed media-layer attribute 149 information, in this case Position X, Position Y, date last modified, to the host server 102 c as an event. The host server 102 c records this new information and then sends this event information to all subscribed client computers 137 to 139. Users on the client computers 137 to 139 would then see the same object from the original location to the new location as indicated by the terms of the event.
  • FIG. 2A illustrates an example of collaborative actions in a web conferencing environment 200A. Users 230 Client, 232 Contractor and 234 Architect hold a teleconference in separate geographical locations. A virtual shared space is created when users 230 to 234 are logged into a common session through synchronous communication links 224 to 228 with host server 202.
  • FIG. 2B illustrates an example of synchronizing an annotation of a drawing in a shared virtual space 244 a to 244 c through various input devices 240 a to 240 e during a web conferencing environment 200B. In an embodiment, the shared space 244 a to 244 c is a web-based shared environment such as a web browser where multiple users 230 to 234 can create, transform and delete a wide variety of media as well as annotate over or under said media. The example in FIG. 2B illustrates that user 230 as client Mike annotating a circle 242 a over an image of a floor plan displayed on the computer monitor using an electronic or optical pen 240 a. This action is synchronized and displayed on those sharing the same virtual space 244 b as 244 c in user 232 contractor John and user 234 Architect's computer monitors. All actions from any of the users 230 to 234 are also stored on the server 202 for later retrieval. If users 230 to 234 annotate the floor plan drawing at same location at the same time, the last input to the shared space 244 a to 244 c will be recorded and shown on the computer monitors.
  • Alternately, other input devices such as but not limited to a wireless PDA or electronic tablet 240 a, a keyboard 240 c, a mouse 240 d, optical pointer, USB flash memory, stylus, audio or video equipment 240 e such as a video camera or microphone or both can also be sent as inputs to the shared space 244 a to 244 c. The cellular phones 246 a to 246 c voice input can be integrated as a media layer over the other text or graphic layers during the teleconferencing.
  • The shared environment is multi dimensional thus allowing users 230 to 234 to sort information by not only content, but spatial, temporal and inter relationships between the media-layers created. Because the shared space 244 a to 244 c is virtual and not restricted to one image, more then one media can be placed within the same shared space 244 a to 244 c.
  • FIG. 3A to 3E are various browser screenshots 300A to 300F of a Graphical User Interface (GUI) illustrating a plurality of executable tool functions including the stage manager tools available for the collaborative media-layered platform. In an embodiment, the GUI shown in FIG. 3A includes standard window's editing tools 304 a. The shared media workspace 310 acts as a container to support a plurality of media file formats and plug-in applications where layer-based authoring content can be easily moved, scaled, copied, pasted, layered and deleted. On-demand access to different content or sessions—saved and organized by topic, audience or version for example. A user list 306 and chat configurations 308 are also shown. Some examples include the Microsoft Office® and Adobe® PDF files, real time desktop sharing, photos, etc. shared media workspace 310 can import and export (to PowerPoint or PDF) for asynchronous work or archiving offline. Operation and UI of the client application in an offline mode is similar. This characteristic allows the user to continue annotating the media layer objects when offline (temporarily leaving the session), re-synching to the latest changes on the media layer or to the session when back online. The time and space synchronization of content changes and annotations enable users to publish content anywhere on the web, have presence awareness capabilities to know when other users are interacting with that content, and then interact with that user in real-time.
  • FIG. 3B illustrates another window opened from the tool bar where the upload of files from a file storage remotely 318 or locally from a hard drive 316. For remote locations, files can be uploaded directly by providing a valid URL. A tree structure 320 shows the organization of the files through a web service 106 a from a remote file storage 108 a such as one shown in FIG. 1C1 or from the local hard drive 316 or other storage devices accessible from a client computer. In FIG. 3C, new media 322 and text 324 can be created as new media-layers using the tools 304 b. 326 shows a shared pointer object that maintains its position across all clients in real-time functioning as a surrogate mouse pointer. FIG. 3D illustrates GUI tools invoked to support the book typical metaphor. Using the main menu 328 to open, create or save a collection, illustrated here as a ‘book’ to be shared and viewed by the users in the session. Books 332 a to 332 d can be switched during a session by the users.
  • FIG. 3E illustrates the user management 334 function can be invoked by selecting meeting option from the main menu tool bar 328. The user management function allows user to see who is logged in, send email invitations, set user permissions, lock and unlock the room for the shared session. The option of using teleconferencing 336 by using online VoIP (Voice Over IP), cell or common POTS while interacting in real time with users during the session can be done by providing an VoIP client or phone number and access code for those users given permission to access said voice service. FIG. 3F illustrates a ‘filter by user’ tool 338 where a window 338 a is opened to display the ID labels (name) of all users that have created a media-layer on the current page. Objects can be hidden or unhidden based on the selection of one or more names. This same filtering is also achieved based on the time when media-layers were created and/or modified. Another select media window 340 allows the selection of media-layers based on the media-layer's ID label.
  • FIG. 4 is a flow chart 400 depicting a method to collaborate a web browser based media-layered session between two or more users in a shared environment. In an embodiment, the shared environment is an Ethernet WAN or LAN network, a fiber optic communication direct link, a Flash application is loaded on each registered client computer in step 402. In step 404 the flash application on the client computer connect to a host server after being authenticated. The host registers the users and opens a session to support synchronous communication. In step 406, the host retrieves from a database the identity of user and sends a tool list to be loaded by the flash application on the client. In step 408, the flash application will load one or more media-layers in response to the receipt of a session attribute list from the host. If no specific attribute is specified, a default media-layer is loaded. One of such tools is the stage manager tool. In step 410 a plurality of media-layers form a collection; where the collection is managed by the stage manager tool, only the active layers are viewable by users, the inactive layers are hidden from view. In step 412, the collection is correlated with information including time last modified and 3D space coordinates into a file descriptor suitable for network equipment communication such as an XML file. In step 414, the user web browser loads staging tools from the stage manager according to the user's collection file descriptor received. The collection file descriptor can be a file from a remote file storage location or from the user's local hard drive. If no particular format is specified, the staging tool will load one or more default media-layers for the session. In step 416, the user can load an existing file with a collection of media-layers from a remote location on the web by specifying URL address or from a local hard drive. The user can also generate new or modify the loaded media-layers. In step 418, the modifications that are user's inputs include annotation, delete, insert, copying, pasting or drawing to the media-layers. The updated collection file descriptor can be stored for later retrieval by the users in step 420, or can be accessed by other users logged in the same session in step 422. In step 424, if all tools and media-layers loads are completed, the process ends until further inputs from any of the users in the session.
  • In one embodiment of the invention multimedia content serves as the centerpiece for the creation of an interactive set of documents that are virtually bound into a file characterized as a master book 1601 as illustrated in FIG. 5 a. In an exemplary application, the book 1601 may be designed to offer an entire course on an academic or trade subject. In this application, an instructor (i.e., principle 1607 in this instance) may provide lectures, complete with graphic (e.g., animation, charts, 3-D), video, voice and textual information. One or more students (i.e., client 1619 in this instance) interact with the instructor pedagogically and interact by way of supplying inputs, such as content that demonstrate a grasp of the subject or requesting further instructions on a point. In another exemplary application, the book 1601 represents a collaborative planning document. In yet another exemplary application the book 1601 may represent collaborative document preparation as between lawyers, coauthors, musicians, etc. Generation of book 1601 begins by loading a media application (e.g., Flash application) such as 110 a to 110 c as designated FIG. 1A as generated by the interaction of the codes in the user computers 130 to 134 and the codes from the host server 180. The book 1601 may be part of a larger environment referred to as a library 1623. The books are searchable either by collaborators involved in the use or the production of the book or by other persons or autonomous agents on the World Wide Web. In overview, the book 1601 contains pages having multiple multi media layers and interactive features allowing a user, such as principle 1607, agent 1613 and client 1619 to move between pages, between books in a library 1623 and between the pages and the larger World Wide Web, where principle 1607, agent 1613 or client 1619 can obtain resource information 1605, 1611 as further described below. In another embodiment, a conversion program 1609 b, FIG. 5 b, resident on a server 180 may be required to display the page on a conventional computer display. The pages may be created utilizing any appropriate technology, such as may be required to create text documents, graphic images, video images or data files. In functional block 1609 the principle 1607 has several technologies from which draw upon in creating the master book 1601, content or functionality, necessary for authorship of the principle's version of the master book 1601. For example, the principle 1607 may create content utilizing a standard word processor and upload the content of the word processor into the master book 1601. In one embodiment as shown in the principle 1607 may import or utilize a conversion program that may by way of example be required to convert display data if needed into a format that can display master book 1601 on a computer display terminal.
  • In certain cases converters, such as by way of examples converters, convert content into layers that are then displayed on a browser on a computer display. Templates may be provided to automatically create pages, place the pages within the book with specific layouts and with the assistance of converters display the pages on a browser on a computer display. For example, a template 1609, 1617 may include or contain hotlinks, and meta tags an other computer code placed in a directory, such as associated with a layer (see, reference 141, FIG. 1), but more generally any directory that is associated with the content of text documents, graphic images, video images, audio or data files that provide means by which certain data contained on a page can, for search purposes be retrieved using a search engine that provides resource information 1605, 1611 as requested. Other aspects of function feature 1609 are templates (see FIG. 5 b 1609 c), and similar functional feature 1617 templates that may specify where images are placed within a series of pages that comprises book 1601, or its sequential relationship to the pages that may include text, video, captions and data files. The templates 1609 c in the functional feature 1609 and the similar templates in 1617 are not limited to specifying sequential placement of documents, but may also have features for the creation of dynamic buttons and installation of plug-ins. The dynamic button and plug-in features permit users of the book to click into other books that may reside within a library 1623 of books such as one containing book 1601. The pages within book 1601 are in one embodiment dynamically swapped in and out or updated as dictated by the use to which the book is put. Software means that provide for template creation, converters and plug ins are well known to those of ordinary skill in the art of computer programming for web browser applications and associating database content containing information pertinent to the application.
  • In one embodiment as shown in FIG. 5 b, the principle 1607 may import through an API followed by a conversion that may by way of example be required to convert content 1609 d to display data if needed into a format that can display master book 1601 on a computer display terminal.
  • In the description to follow, a principle, client and agent are referred to as elements in process described in FIGS. 5 a, 5 b; however, as will be apparent the roles of theses elements are interchangeable depending on the functions performed. For example at a point in the collaboration the client may take on the role of a principle or an agent, and the principle may take on the role of the client. However, to gain a clear appreciation of the invention herein the following description will not interchange roles. Therefore, assume for the sake of explanation that the principle 1607 requires services, information or other resources through agent 1613 as shown in FIG. 5 a. In FIG. 5 b, functional feature 1629 labeled resource request contains customized content 1629 a that defines the services, information or other resources requested by the principle. In satisfying the request the content 1629 a utilizes a plug-in 1629 b to transfer the content. The plug in may include an API 1631. The agent 1613 then utilizes the customized content 1629 a to access a service or resource 1611 to satisfy the request initiated by principle 1607. When the agent obtains the resource information it inserts the information into the book via functional block 1615 (i.e., content, plug-in and appropriate API). In satisfying the request the resource 1611 utilizes functional block 1615 where a plug-in 1642 serves to imbed the resource 1611 information 1611 a for inclusion in the book 1601. The plug in 1642 may include an API 1643. In another embodiment, the agent 1613 may bypass functional feature 1629 and obtain the information from viewing the master book 1601 and manually, i.e., through phone or other separate device, provide the service of obtaining the necessary service, information or resource requested by the principle 1607. The agent 1613 may thereafter electronically update the master book 1601 by providing necessary service, information or resource requested by the principle 1607. For example, the agent 1613 can recalculate a hotel stay or flights based on a revised date, or calculate a computer cost based on selected parts based upon directly accessing and viewing the request to provide such information in the master book 1601.
  • With further reference to FIG. 5 a, and FIG. 5 b, the invention herein finds applications where a group of users, such as depicted by client 1619, plan to travel as a group, at least during a part of an extended trip. This serves as one example how a master book 1601 unifies collaboration among a community of users. An individual, referred to as the principle 1607, may initially construct an itinerary steps 5-6 and 7-8, where major aspects of the itinerary are presented on the pages of book 1601, also referred herein as a master book 1601, as described above. As illustrated, the principle 1607 may draw upon resources 1605 (steps 1-2) to which it may have access. For discussion purposes assume that the pages of the book 1601 provide information regarding air line fares, schedules, points of interest to be visited with corresponding pictures and/or video graphics, and calendars having listed individual appointments to be kept during the course of the trip. Before the itinerary or some other aspect of the mission is completed, the principle 1607 may electronically notify the agent 1613 of the availability of pages requiring service. The selected pages or the entire book 1601 are accessibly viewable by agent 1613 and further capable of being used to search resources 1611 by inclusion of the functional feature resource request 1629 (See FIG. 5 b, steps 30-33) through its user browser and then accesses a searchable data base to supply needed resource content 1615 (steps 11-12) that supplies in steps 9-10 information that the principle 1607 requires to complete the itinerary. For example, the principle 1607 may decide that the group (i.e., client 1619) desires to leave from a certain airport for a destination on a specific date and time. By making a page available to agent 1613 (steps 15-16) by using a plug-in 1629 b specially designed for this purpose, the agent 1613 would in turn supply (steps 13-14) the date, time, airline, price that the principle 1607 requires, and the information would automatically be incorporated the book 1601 as a page dealing with the itinerary.
  • Following completion of the draft itinerary, the book 1601 would be made available (steps 21-22) for viewing and uploading to the other trip participants, (e.g., client 1619), for review, copying and alteration in steps 17-18, if desired would be available and used by the client 1619 for the purposes set forth above. Note that the creation of the itinerary may be a completely collaborative process among the principle and one or more clients and therefore, some or all may already have the master book available and my in fact be viewing the master book as progress towards completion is made. The content and or template modifications to book 1601 are indicated in steps 19-20. The client 1619 may incorporate their own special pick up, arrival and departure ground transportation, air line fares, schedules, points of interest to be visited and individual appointments to be kept during the course of the trip.
  • In the course of master book 1601 creation, a client 1619 may desire to copy the book as in step 27-28 to create a derived or derivative master copy 1621 and later augment the derivative master copy 1621 with planned side trips or a diary. However, the principle 1607 has access to a filter 1604 (FIG. 5 b) used to moderate and filter input, viewing permission, copying, adding and swap out content and publication and generally any of the rights that are granted vis-a-vis the U.S. Copyright Laws, Title 17 of the United States Code.
  • The system 1600 (FIG. 5 a) can track and trace all generations of duplications of a master book 1601 and its derivative master copies 1621. As is well know by those skilled in the art of computer programming access policies may establish whether the principle 1607 has access to a client's derivative master copy 1621. However, more generally, each time specific pages from a master book 1601 or derivative master book 1621 are inserted into a derivative master copy 1621, the new version will be traced and filed in trace 1625, step 23-24. In one embodiment, trace 1625 records the author, time and content of the change allowing all modifications to be tracked. The principle through a permissions filter 1604 controls the copy addition, deletion, changes or modification of a page in the master book 1601, or a page in a derivative copy of the book 1621. The invention herein also provides that the principle 1607, may employ a rules based logic engine to auto copy or modify pages (e.g., update information) or as indicated in steps 25-26 the master book 1601 and derivative books may be placed in library 1623 as the specific application may require. Those of ordinary skill in the art of computer programming understand the technologies needed to create rules based logic engines to auto copy and modify pages based upon logical inputs.
  • Based upon the foregoing, any derivative copy may be regarded as a master copy having the same principle or client or different principles and different clients. Additionally, there may be multiple clients as indicated above, each interacting with master book 1601 and each creating its own derivative master copy 1621. Essentially the system 1600 may be utilized without detracting from the description herein for any master copy that is resident in the library 1623 or any derivative master copy 1621 in process or being changed or updated or has finally been edited.
  • Any master book 1601, derivative master book 1621 or master book stored in the library 1623 may be published. In FIG. 5 a, steps 34-35 indicated the publication of master book 1601 on the World Wide Web. Additionally, the principle or client may embed the master book 1601 or derivative master book 1621 into any web property. These embedded master books can have various collaboration tools exposed for use. Any input into a later generation published master book 1601 may serve as an input into the first master book, such as master book 1601. The filter 1604 as indicated previously can be used to moderate and filter such backward and forward alteration of generational master books, as regards input, viewing permission, adding and swap out content and copying of the publication 1628 and generally any of the rights that are granted vis-à-vis the U.S. Copyright Laws, Title 17 of the United States Code.
  • The principle 1607 has the ability through the use of plug-ins, content, template and converters as described in connection with functional feature 1609 (FIG. 5 b) to embed within the master book an autonomous software agent that may trigger the creation, duplication and/or publication of copies of the master book 1601 to both known and unknown clients (e.g., general public). Using availably technology, known to those of ordinary skill in the art of computer programming, the master book may be published 1628 by the principle 1607, to one or more clients 1619 with permission to further embed added content. The client 1619 users add the content and return the related master books (i.e., derivative versions of the master book 1601). Note, that the clients 1619 can add content to the master book directly from the published books.
  • In FIG. 6, a flow chart details a method 1700 that two collaborators may employ as during a research project where outside research may be required. With reference to FIG. 5 and FIG. 6, in step 1705 principle 1607 (e.g., one of the researchers) uploads content to the master book 1601 in accordance with the process indicated in connection with FIG. 5. At step 1707, the principle decides if the client 1619 (e.g., the other researcher) needs to view the master book 1601 at this time. If the principle 1607 decides that the client needs to view the book 1601, then the client 1619 is prompted or notified 1733. The prompt or notification can be any electronic notification. If the client 1619 needs no prompting then the principle 1607 decides if agent resources are required 1709 and if the answer is “Yes” then the agent is prompted 1711 through plug-in 1629 b and it proceeds to fulfill the information request and updates 1715 the book 1601. In decision blocks 1717, 1721 if the information provided by the principle 1607, agent 1613 or client 1619 requires a viewing of then either the principle 1607 or client 1619 is prompted 1719, 1733, respectively. When a client 1619 is prompted 1733, decision block 1731 allows the client to make changes 1729, continuing working on or decide 1724 to make a copy 1725 of the master book 1601. In block 1727 the method permits the principle 1607 or the client 1619 to library the master book 1601. Note, that the foregoing description regards the agent as an autonomous agent, that is, one that essentially is a computer program that carries out the requirements to locate resources and update the master book. However, the invention herein also regards those instances where the agent 1613 is assisted by a person that manually locates resources and updates the master book. Additionally in these instances when a person carries out the requirements to locate resources and update the master book, then the “agent function” is essentially performed by the actions described for the client 1619.
  • FIGS. 7 a, 7 b, 7 c illustrate various browser images 1800 as provided for by loading a media application such as 110 a to 110 c as designated in FIG. 1A, which as earlier described is generated by the interaction of the codes in the user computers 130 to 134 and the codes from the host server 180, with a plurality of tools into a one or more user computers such as allowing the accessing or logging in and accessing one or more user computers in a shared space in the network. Throughout the description in this specification the step of accessing includes logging in if the user is not already connected to the host server. As indicated, the application of the present invention described in FIG. 5, 6 comprises means to up load and/or view text documents, graphic images, and video images, audio or data files. In FIG. 7 a a user such as a principle 1807 by way of example J. J. Jones will have a designated home defining its space containing multimedia residing in database files on host server 108 referred to as My Books 1808 containing one or more specific files or books as may be listed in block 1820 as by way of example book names such as “College Course 101”. In block 1815 the principle may invite people to view a book or the principle itself may delete a book. In block 1825 are books that the principle has been invited to view and/or update. As is apparent, as an invitee, the principle becomes client. Principle 2 and Principle 3 have in the present example invited Principle J. J. Jones, to view and update “New Bus Plan” and “Travel Itinerary”, respectively. In block 1810, Principle J. J. Jones may (a) upload content, (b) create a New Book or (c) schedule a meeting. In other features described above, a user may engage in a public chat. Other features may be included such as publishing the book, creating a new book, scheduling a meeting, listing meetings, etc. without detracting from the spirit of the intention of the invention herein.
  • In FIG. 7 b a principle 1607 will have a designated home defining its space containing multimedia residing in database files on host server 108 referred to as University Engineering Courses. Note, FIG. 7 b may also be considered in yet other examples of the operation herein as a library, such library 1623. The library itself may be the collaborative contribution of master books from many such principles. The courses each take on the feature of a published master book 1601 (FIG. 5 a). Note that in certain applications the master book in a library may include various filter attributes such as read only. The purpose of the master book 1601 with the courses is displayed in a browser window 1841. A user such as a client 1619 may view and create duplicates of the courses 1842 selected by clicking a dynamic button associated with reference courses 1842. In yet another embodiment of the present invention shown in n FIG. 7 c a principle 1607 will have a designated home defining its space containing multimedia residing in database files on host server 108 referred to as University Engineering Course Selection 1850. The courses 1864 each take on the feature of a master book 1601 (FIG. 5 a). The user, a student or client 1619 is again invited to duplicate 1860 the course content selection from courses 1864. Alternatively, the client 1619 may use the dynamic buttons 1854, 1856 or 1853 to perform one of: viewing a lecture video, obtaining a lecture transcript or accessing course handouts, respectively. In the example illustrated the client 1617 must click dynamic button 1862 and read the license pertaining to the materials.
  • In yet another embodiment of the present invention FIG. 8 illustrates a system 1400 for the creation of an interactive set of documents that are virtually bound into a file characterized as a master book 1601 in a shared space within a network as described in connection with FIG. 1A through FIG. 1G, and FIG. 5 through FIG. 8 including: a host server 1410 for communicating with database 1412 and file storage 1414 through network 1405; one or more user computers 1416 a through 1416 n with associated user applications for accessing and/or logging onto the host server and then accessing if the user is not already connected to the host, to join a shared space session with other user computers running user applications; and wherein the shared space session is generated by interaction of executable codes in the host 1410 and the user applications and the shared space session described by a session attribute list; an executable media application, such as an appropriately configured converter with a plurality of tools loaded into the user computers; at least one user provided content 1420 a, 1420 n installed into media-layers 1418 a, 1418 n; and a stage manager 1422 a, 1422 n to facilitate the display of media-layer updates to other users in the shared space in one of a synchronous or asynchronous mode as described in connection with FIG. 5 through FIG. 8, of a user computer, whereby at least a portion of the message relates to text documents, graphic images, video images, audio or data files displayed in a master book 1601, accessible via browsers 1424 a, 1424 n, and whereby code for templates, plug ins, and converters 1411 may be provided to automatically create pages with specific layouts, and communicate text documents, graphic images, video images, audio or data files to other computers for displaying and searching additional resource information. The system 1400 of the present invention further includes the means to create one or more archived books, and traces of all changes, updates, and additionally added information.
  • In yet another embodiment of the present invention FIG. 9 illustrates a method 1500 for the creation of an interactive set of documents that are virtually bound into a file characterized as a master book 1601 in a shared space within a network as described in connection with FIG. 1A through FIG. 1G, and FIG. 5 through FIG. 9 having a host server 1410 for communicating with database 1412 and file storage 1414 through network 1405. The method 1500 to create master books and provide for interactive alteration among invited participants includes the steps of: accessing 1510 or logging in if not already connected to the host server, and/or one or more user computers in a shared space in a network, wherein the shared space is created by interaction of executable codes in the host and the user application and the shared space is described by a session attribute list; loading an executable media application 1515 with a plurality of tools into one or more user computers; using a stage manager tool 1518 from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by a file descriptor inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space; inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space 1520; and providing templates, plug-ins and converters 1525 to automatically create pages or manually input with specific layouts, whereby pages additionally contain computer code to display and interface text documents, graphic images, video images or data files with other computers; displaying the content 1530 by other user computers in the shared space in one of a synchronous or asynchronous mode; and searching additional resource information including: permitting collaboration among users and providing automatically created page updates to the book using searched resource information 1535; and tracing associated user and searched resource information changes 1540; and making derivative copies 1545 of the master book.
  • While the foregoing invention has been described with reference to the above embodiments, additional modifications and changes can be made without departing from the spirit of the invention. Accordingly, such modifications and changes are considered to be within the scope of the appended claims.

Claims (20)

1. A method for creating a collaborative book in a shared network space comprising the steps of:
accessing one or more user computers in a shared space in the network, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list;
loading a media application with a plurality of tools into one or more user computers; using a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application,
wherein the media-layers data are described by at least one file descriptor inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space;
and providing templates to create pages with specific layouts, providing plug-ins for each type content;
providing converters for displaying the book;
and displaying the content by computers in the shared space in one of a synchronous or asynchronous mode;
and searching additional resource information including:
permitting collaboration among users, and providing automatic page updating using searched resource information; and tracing associated user and searched resource information changes to the book.
2. The method of claim 1, further comprising the step of a user moving pages in the book between one of (a) one or more books in a library or a website on the World Wide Web.
3. The method of claim 1 further comprising the step of a template containing one or more: hotlinks, meta tags and computer code placed in the directory of text documents, graphic images, video images, audio or data files.
4. The method of claim 1 wherein a template specifies where images are placed among the pages of the book.
5. The method of claim 1 wherein a template contains one or more of dynamic buttons and plug-ins to permit users of the book to access books that reside within a library of books.
6. The method of claim 1 further comprising the step of dynamically swapping in and out pages within the book as dictated by the use to which the books are put.
7. The method of claim 1 further comprising the step of a user electronically notifying another user of the availability of pages for one or more of viewing, changing or accessing an information resource.
8. The method of claim 1 further comprising the step of creating a derivative copy of the book.
9. The method of claim 1 further comprising the step of a user augmenting the derivative copy.
10. The method of claim 1 further comprising the step of installing a conversion program for accessing through a browser text documents, graphic images, video images, audio or data files.
11. The method of claim 1 wherein the trace records the author, time and content of the change.
12. The method of claim 1 further comprising the step of using a browser for one of uploading content, creating a new book or scheduling a meeting.
13. The method of claim 1 further comprising the step of utilizing and conversion program to convert display data into the book.
14. The method of claim 1 further comprising the step of publishing the book.
15. The method of claim 4 further comprising the step of storing the book in the library for collaborating and copying.
16. The method of claim 1 further comprising the step of embedding the book into in any web property.
17. The method of claim 1 further comprising the step of one or more of: embedding into the book an autonomous software agent to trigger one of the creation, duplication and/or publication of copies or pages of a book.
18. The method of claim 1 further comprising the step of one or more of: filtering to moderate and filter input, viewing permission, copying and publication.
19. A non-transitory computer readable medium having computer-executable instructions for creating a collaborative file in a shared network space comprising the steps of: accessing one or more user computers in a shared space in the network, wherein the shared space is created by interaction of executable codes in a host and a user application and the shared space is described by a session attribute list;
loading a media application with a plurality of tools into one or more user computers; using a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by at least one file descriptor inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space;
and providing templates to create pages with specific layouts, providing plug-ins for each type content;
providing converters for displaying the book;
and displaying the content by computers in the shared space in one of a synchronous or asynchronous mode;
and searching additional resource information including:
permitting collaboration among users, and providing automatic page updating using searched resource information; and tracing associated user and searched resource information changes to the book.
20. A computer system for creating a collaborative book in a shared space within a network comprising: a host server that communicates to a database and a file storage through a network; a user machine with a user application that logs to the host server to join a shared space session with other user machines running user applications, wherein the shared space session is generated by interaction of executable codes in the host and the user application and the shared space session is described by a session attribute list;
a first memory for storing application code with a plurality of tools into one or more user computers;
an input device for inputting multi type content including one or more of text documents, graphic images, video images, audio or data files into the shared space; a stage manager tool from the media application to stage and correlate a plurality of media-layers according to spatial, temporal and relational coordinate data in the user application, wherein the media-layers data are described by a file descriptor inputting multi type content including one or more of text documents, graphic images, video images or data files into the shared space;
and a display for displaying the content by computers in the shared space in one of a synchronous or asynchronous mode;
a second memory for storing (a) templates to create pages with specific layouts, (b) plug-ins for each type content for searching additional resource information, (c) converters for accessing through a browser the content of the book.
US13/483,107 2006-01-24 2012-05-30 System and Method to Create a Collaborative Web-based Multimedia Contextual Document Abandoned US20120331402A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/483,107 US20120331402A1 (en) 2006-01-24 2012-05-30 System and Method to Create a Collaborative Web-based Multimedia Contextual Document

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US76152906P 2006-01-24 2006-01-24
US11/657,787 US7933956B2 (en) 2006-01-24 2007-01-24 System and method to create a collaborative web-based multimedia layered platform
US13/483,107 US20120331402A1 (en) 2006-01-24 2012-05-30 System and Method to Create a Collaborative Web-based Multimedia Contextual Document

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/657,787 Continuation US7933956B2 (en) 2006-01-24 2007-01-24 System and method to create a collaborative web-based multimedia layered platform

Publications (1)

Publication Number Publication Date
US20120331402A1 true US20120331402A1 (en) 2012-12-27

Family

ID=38429598

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/657,787 Expired - Fee Related US7933956B2 (en) 2006-01-24 2007-01-24 System and method to create a collaborative web-based multimedia layered platform
US13/483,107 Abandoned US20120331402A1 (en) 2006-01-24 2012-05-30 System and Method to Create a Collaborative Web-based Multimedia Contextual Document
US13/647,433 Expired - Fee Related US8935334B2 (en) 2006-01-24 2012-10-09 System and method to create a collaborative workflow environment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/657,787 Expired - Fee Related US7933956B2 (en) 2006-01-24 2007-01-24 System and method to create a collaborative web-based multimedia layered platform

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/647,433 Expired - Fee Related US8935334B2 (en) 2006-01-24 2012-10-09 System and method to create a collaborative workflow environment

Country Status (1)

Country Link
US (3) US7933956B2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010635A1 (en) * 2009-07-10 2011-01-13 Novell, Inc. Unified editable inbox
US20110149811A1 (en) * 2009-12-23 2011-06-23 Ramprakash Narayanaswamy Web-Enabled Conferencing and Meeting Implementations with Flexible User Calling Features
CN103347035A (en) * 2013-05-10 2013-10-09 北京航空航天大学 Mobile phone terminal information sharing platform
US20140040767A1 (en) * 2012-08-03 2014-02-06 Oracle International Corporation Shared digital whiteboard
US20140096011A1 (en) * 2012-09-28 2014-04-03 Interactive Memories, Inc. Method for Facilitating Asset Contribution to an Image and or Text-Based project created through an Electronic Interface
US20150135045A1 (en) * 2013-11-13 2015-05-14 Tutti Dynamics, Inc. Method and system for creation and/or publication of collaborative multi-source media presentations
US20150221113A1 (en) * 2012-08-09 2015-08-06 Fujian Foxit Software Development Joint Stock Co., Ltd. Method for dynamically displaying picture after converting gif picture to pdf file
US20150242064A1 (en) * 2014-02-21 2015-08-27 Toshiba Tec Kabushiki Kaisha Information display apparatus that displays document page
US20170104796A1 (en) * 2015-10-08 2017-04-13 Armored Info, Llc System, method and apparatus for simultaneous media collaboration
US9665930B1 (en) * 2015-11-10 2017-05-30 Adobe Systems Incorporated Selective editing of images using editing tools with persistent tool settings
US9710544B1 (en) * 2016-05-19 2017-07-18 Quid, Inc. Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents
CN109753205A (en) * 2017-11-01 2019-05-14 北京搜狗科技发展有限公司 A kind of display methods and device
US10474330B1 (en) * 2014-05-23 2019-11-12 Amazon Technologies, Inc. Supplementary content layers
US10878019B2 (en) * 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US20210037146A1 (en) * 2019-07-30 2021-02-04 Cimpress Schweiz Gmbh Systems and methods for synchronizing document edits using application state variables
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
US11140203B1 (en) * 2020-10-06 2021-10-05 Slack Technologies, Llc Ambient, ad hoc, multimedia collaboration in a group-based communication system

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386628B1 (en) 2005-05-23 2013-02-26 Glance Networks, Inc. Method and apparatus for reducing the amount of information that must be transmitted to slower viewers over a remote viewing session
CN101017538A (en) * 2006-02-11 2007-08-15 鸿富锦精密工业(深圳)有限公司 Proposal evaluation system and method therefor
WO2007103352A2 (en) * 2006-03-03 2007-09-13 Live Cargo, Inc. Systems and methods for document annotation
US8046411B2 (en) * 2006-04-28 2011-10-25 Yahoo! Inc. Multimedia sharing in social networks for mobile devices
EP1862959A1 (en) * 2006-05-30 2007-12-05 France Telecom Communication system for the collaborative remote creation of multimedia content
WO2008019088A2 (en) * 2006-08-03 2008-02-14 Bluenote Networks, Inc. Web services and plug-in framework in voip environment
WO2008044699A1 (en) * 2006-10-11 2008-04-17 Zuken Inc. Designing support method, designing support apparatus, program, and computer-readable storage medium
US9020963B2 (en) * 2007-01-10 2015-04-28 International Business Machines Corporation Providing relevant assets in collaboration mediums
US7783703B2 (en) * 2007-01-29 2010-08-24 Sony Corporation Shared home media platform to support multi-user control
KR101537329B1 (en) * 2007-02-27 2015-07-17 삼성전자 주식회사 Apparatus and method for making digital collage
US9135657B2 (en) * 2007-07-27 2015-09-15 The Invention Science Fund I, Llc Rewarding independent influencers
US20080270234A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware. Rewarding influencers
US20080270473A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Determining an influence on a person by web pages
US20080270416A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Determining influencers
US8831973B2 (en) * 2007-04-30 2014-09-09 The Invention Science Fund I, Llc Systems for rewarding influencers
US20080270474A1 (en) * 2007-04-30 2008-10-30 Searete Llc Collecting influence information
US20090177527A1 (en) * 2007-04-30 2009-07-09 Flake Gary W Rewarding influencers
US20080270620A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Reporting influence on a person by network-available content
US20080270552A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Determining influencers
US7895197B2 (en) * 2007-04-30 2011-02-22 Sap Ag Hierarchical metadata generator for retrieval systems
US20080270551A1 (en) * 2007-04-30 2008-10-30 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Rewarding influencers
US8290973B2 (en) * 2007-04-30 2012-10-16 The Invention Science Fund I, Llc Determining influencers
US8793155B2 (en) * 2007-04-30 2014-07-29 The Invention Science Fund I, Llc Collecting influence information
US8712837B2 (en) * 2007-04-30 2014-04-29 The Invention Science Fund I, Llc Rewarding independent influencers
US20080270915A1 (en) * 2007-04-30 2008-10-30 Avadis Tevanian Community-Based Security Information Generator
CN101315621B (en) * 2007-05-29 2010-10-06 北京书生国际信息技术有限公司 Method for implementing document sharing editting
US7937663B2 (en) 2007-06-29 2011-05-03 Microsoft Corporation Integrated collaborative user interface for a document editor program
CA2637093A1 (en) * 2007-07-09 2009-01-09 Net Marketing Solution.Com Interactive conferencing system and method
US20090055483A1 (en) * 2007-08-20 2009-02-26 Rooma Madan Enhanced Collaboration in Instant Messaging
US20090063991A1 (en) * 2007-08-27 2009-03-05 Samuel Pierce Baron Virtual Discussion Forum
US8046356B2 (en) * 2007-12-20 2011-10-25 Verizon Patent And Licensing Inc. Multimedia portal
US10872322B2 (en) * 2008-03-21 2020-12-22 Dressbot, Inc. System and method for collaborative shopping, business and entertainment
US8484291B1 (en) 2008-04-02 2013-07-09 Glance Networks, Inc. Method and apparatus for selecting commands for transmission from an updated queue
US20100100439A1 (en) * 2008-06-12 2010-04-22 Dawn Jutla Multi-platform system apparatus for interoperable, multimedia-accessible and convertible structured and unstructured wikis, wiki user networks, and other user-generated content repositories
US10474477B2 (en) * 2008-10-10 2019-11-12 Adobe Inc. Collaborative and non-collaborative workspace application container with application persistence
US20100121919A1 (en) * 2008-11-13 2010-05-13 Arhus Universitet System and a method for sharing information interactively among two or more users
US8285787B2 (en) 2008-11-26 2012-10-09 Red Hat, Inc. Systems and methods for managing a collaboration space having application hosting capabilities
US8805930B2 (en) * 2009-02-24 2014-08-12 Red Hat, Inc. Managing application programming interfaces in a collaboration space
US20100318893A1 (en) * 2009-04-04 2010-12-16 Brett Matthews Online document annotation and reading system
US20100257451A1 (en) * 2009-04-05 2010-10-07 Hbr Labs Inc. System and method for synchronizing collaborative web applications
US20100257457A1 (en) * 2009-04-07 2010-10-07 De Goes John A Real-time content collaboration
JP5436665B2 (en) * 2009-06-03 2014-03-05 グーグル・インコーポレーテッド Classification of simultaneously selected images
CN102292713A (en) * 2009-06-30 2011-12-21 唐桥科技有限公司 A multimedia collaboration system
WO2011028885A1 (en) * 2009-09-03 2011-03-10 Coaxis Services Inc. System and method for virtual content collaboration
US9213756B2 (en) * 2009-11-02 2015-12-15 Harry Urbschat System and method of using dynamic variance networks
US8280966B2 (en) * 2009-10-22 2012-10-02 Sap Ag System and method of controlling access to information in a virtual computing environment
US8510806B2 (en) * 2009-10-22 2013-08-13 Sap Ag System and method of controlling access to information in a virtual computing environment
US8555253B2 (en) * 2009-11-02 2013-10-08 Hewlett-Packard Development Company, L.P. System and method for monitoring exploratory testing by a plurality of testers
US20110113089A1 (en) * 2009-11-09 2011-05-12 Apple Inc. Delivering media-rich-invitational content on mobile devices
US8751587B2 (en) * 2009-11-25 2014-06-10 Red Hat, Inc. Real-time web applications
US8683357B2 (en) * 2009-11-25 2014-03-25 Red Hat, Inc. Providing real time web application framework socket
US8689234B2 (en) 2009-11-25 2014-04-01 Red Hat, Inc. Providing real-time widgets in a web application framework
US8521816B2 (en) * 2010-03-19 2013-08-27 Microsoft Corporation Latency reduction in collaborative presentation sharing environment
US20110258526A1 (en) * 2010-04-20 2011-10-20 International Business Machines Corporation Web content annotation management web browser plug-in
JP5650740B2 (en) * 2010-07-12 2015-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Design support apparatus, design support program, design support method, and integrated circuit
US8843832B2 (en) * 2010-07-23 2014-09-23 Reh Hat, Inc. Architecture, system and method for a real-time collaboration interface
JP2012038210A (en) * 2010-08-10 2012-02-23 Sony Corp Information processing unit, information processing method, computer program, and content display system
US9043386B2 (en) 2010-10-06 2015-05-26 Hbr Labs Inc. System and method for synchronizing collaborative form filling
US9251503B2 (en) * 2010-11-01 2016-02-02 Microsoft Technology Licensing, Llc Video viewing and tagging system
US8655945B2 (en) * 2010-11-16 2014-02-18 International Business Machines Corporation Centralized rendering of collaborative content
US9246957B2 (en) * 2011-03-04 2016-01-26 Viafoura Systems and methods for interactive content generation
US20120236160A1 (en) * 2011-03-15 2012-09-20 Tomas Rezek Remote studio management and control
US10739941B2 (en) * 2011-03-29 2020-08-11 Wevideo, Inc. Multi-source journal content integration systems and methods and systems and methods for collaborative online content editing
CN102761564B (en) 2011-04-25 2015-04-22 阿里巴巴集团控股有限公司 Graphic sharing method, system and terminal
US8918463B2 (en) 2011-04-29 2014-12-23 Facebook, Inc. Automated event tagging
US8903908B2 (en) 2011-07-07 2014-12-02 Blackberry Limited Collaborative media sharing
IN2011CH02818A (en) * 2011-08-18 2015-05-29 Infosys Ltd
US8732255B2 (en) * 2011-09-09 2014-05-20 Facebook, Inc. Dynamically created shared spaces
US9465803B2 (en) * 2011-09-16 2016-10-11 Nasdaq Technology Ab Screen sharing presentation system
US9785628B2 (en) * 2011-09-29 2017-10-10 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
US10803028B2 (en) * 2011-12-21 2020-10-13 Sybase, Inc. Multiphase approach to data availability
US9544538B2 (en) * 2012-05-15 2017-01-10 Airtime Media, Inc. System and method for providing a shared canvas for chat participant
US9360942B2 (en) * 2012-05-21 2016-06-07 Door Number 3 Cursor driven interface for layer control
US8522130B1 (en) 2012-07-12 2013-08-27 Chegg, Inc. Creating notes in a multilayered HTML document
US20140026028A1 (en) * 2012-07-19 2014-01-23 International Business Machines Corporation Managing webpage edits
US9813255B2 (en) * 2012-07-30 2017-11-07 Microsoft Technology Licensing, Llc Collaboration environments and views
US20140047413A1 (en) * 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9323730B2 (en) * 2012-09-05 2016-04-26 Hbr Labs Llc Platform and method for real-time synchronized co-browsing of web pages
US9785307B1 (en) 2012-09-27 2017-10-10 Open Text Corporation Reorder and selection persistence of displayed objects
US20140143434A1 (en) * 2012-11-12 2014-05-22 Calgary Scientific Inc. Framework to notify and invite users to join a collaborative session
CN103002019B (en) * 2012-11-14 2016-01-13 北京奇虎科技有限公司 Browser and browser send the method for page trip message
US8990190B2 (en) * 2012-11-16 2015-03-24 Apollo Education Group, Inc. Contextual help article provider
FR2998995A1 (en) * 2012-12-03 2014-06-06 France Telecom METHOD OF COMMUNICATION BETWEEN MULTIPLE USERS WITH COMMUNICATION TERMINALS THROUGH A VIRTUAL COMMUNICATION SPACE
US9773216B2 (en) * 2013-02-21 2017-09-26 Atlassian Pty Ltd Workflow sharing
US9830304B1 (en) * 2013-02-22 2017-11-28 Swoop Inc. Systems and methods for integrating dynamic content into electronic media
US10007933B2 (en) * 2013-02-22 2018-06-26 Swoop Inc. Systems and methods for integrating dynamic content into electronic media
US11748833B2 (en) 2013-03-05 2023-09-05 Wevideo, Inc. Systems and methods for a theme-based effects multimedia editing platform
US8719217B1 (en) 2013-03-15 2014-05-06 Decisyon, Inc. Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures
US9842125B2 (en) * 2013-04-24 2017-12-12 Atlys, Inc. Nested media container, panel and organizer
US10803133B2 (en) * 2013-04-29 2020-10-13 Moogsoft Inc. System for decomposing events from managed infrastructures that includes a reference tool signalizer
US9277158B2 (en) 2013-06-10 2016-03-01 Hewlett-Packard Development Company, L.P. Display arrangement change
US9524277B2 (en) * 2013-06-27 2016-12-20 Paypal, Inc. Execution and display of events in a plurality of web browsers and devices systems and method
KR102212210B1 (en) * 2013-10-04 2021-02-05 삼성전자주식회사 Method and Apparatus For Sharing and Displaying Writing Information
WO2015050408A1 (en) * 2013-10-04 2015-04-09 Samsung Electronics Co., Ltd. Method and apparatus for sharing and displaying writing information
US10176611B2 (en) * 2013-10-21 2019-01-08 Cellco Partnership Layer-based image updates
US10225352B2 (en) * 2013-12-20 2019-03-05 Sony Corporation Work sessions
US10067652B2 (en) 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US20150180980A1 (en) 2013-12-24 2015-06-25 Dropbox, Inc. Systems and methods for preserving shared virtual spaces on a content management system
US9544373B2 (en) 2013-12-24 2017-01-10 Dropbox, Inc. Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
JP2017509940A (en) 2014-01-02 2017-04-06 デシジョン, インク. Systems, devices and methods for exchanging and processing data scales and objects
US9584567B2 (en) * 2014-03-04 2017-02-28 Victor Janeiro Skinner Method, system and program product for collaboration of video files
US9628329B2 (en) * 2014-03-21 2017-04-18 Citrix Systems, Inc. Ubiquitous collaboration in managed applications
US11256294B2 (en) 2014-05-30 2022-02-22 Apple Inc. Continuity of applications across devices
US10515406B1 (en) * 2015-05-27 2019-12-24 Wells Fargo Bank, N.A. Information decision making and display
CN106293319B (en) * 2015-06-11 2019-12-06 阿里巴巴集团控股有限公司 service object transmission method and device
US10169917B2 (en) 2015-08-20 2019-01-01 Microsoft Technology Licensing, Llc Augmented reality
US10235808B2 (en) 2015-08-20 2019-03-19 Microsoft Technology Licensing, Llc Communication system
JP6540367B2 (en) * 2015-08-21 2019-07-10 株式会社リコー Display control apparatus, communication terminal, communication system, display control method, and program
US9977786B2 (en) 2015-12-23 2018-05-22 Github, Inc. Distributed code repository with limited synchronization locking
US10319049B2 (en) * 2016-02-24 2019-06-11 Sony Interactive Entertainment LLC Re-sharing media content on a network
US10409463B2 (en) 2016-05-13 2019-09-10 Google Llc Forking digital content items between digital topical environments
US11295273B2 (en) 2016-05-16 2022-04-05 Sap Se Normalized object exposure for collaborative platforms
US10248300B2 (en) 2016-05-16 2019-04-02 Sap Se Polymorph rendering for collaborative platforms
US10726036B2 (en) * 2016-05-16 2020-07-28 Sap Se Source service mapping for collaborative platforms
US10313287B2 (en) 2016-06-01 2019-06-04 Facebook, Inc. Methods and systems for displaying messages in an asynchronous order
US11789579B2 (en) * 2016-06-01 2023-10-17 Meta Platforms, Inc. Methods and systems for distinguishing messages in a group conversation
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US10078818B2 (en) * 2016-12-20 2018-09-18 Sap Se Work routine management for collaborative platforms
US10447623B2 (en) * 2017-02-24 2019-10-15 Satori Worldwide, Llc Data storage systems and methods using a real-time messaging system
US10353663B2 (en) * 2017-04-04 2019-07-16 Village Experts, Inc. Multimedia conferencing
US10469460B2 (en) * 2017-04-17 2019-11-05 Cisco Technology, Inc. Data sharing in a blockchain-enabled trust domain
WO2018195475A1 (en) * 2017-04-20 2018-10-25 Saysearch, Inc. Communication sessions between computing devices using dynamically customizable interaction environments
US11227258B2 (en) 2017-05-17 2022-01-18 International Business Machines Corporation Managing project resources
US20190171653A1 (en) * 2017-07-17 2019-06-06 Amy Balderson Junod Method of automating and creating challenges, calls to action, interviews, and questions
DK180130B1 (en) 2018-05-07 2020-06-02 Apple Inc. Multi-participant live communication user interface
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
JP7068999B2 (en) * 2018-12-17 2022-05-17 ヤフー株式会社 Information processing equipment, information processing methods and information processing programs
US11341199B2 (en) 2019-02-08 2022-05-24 Oracle International Corporation System and method for delivery of content based on matching of user profiles with content metadata
US11003837B2 (en) * 2019-05-03 2021-05-11 Microsoft Technology Licensing, Llc Controlling mark positions in documents
US20210398079A1 (en) * 2020-06-18 2021-12-23 T-Mobile Usa, Inc. Workflow management and interaction between reference software and visual collaboration software
US11544227B2 (en) 2020-06-18 2023-01-03 T-Mobile Usa, Inc. Embedded reference object and interaction within a visual collaboration system
US10956868B1 (en) * 2020-06-29 2021-03-23 5th Kind LLC Virtual reality collaborative workspace that is dynamically generated from a digital asset management workflow
KR20220004924A (en) * 2020-07-05 2022-01-12 주식회사 네오랩컨버전스 Method of synchronizing writing and contents and apparatus therefor
JP2022029341A (en) * 2020-08-04 2022-02-17 株式会社リコー Communication system, communication terminal, communication method, and program
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11763031B2 (en) 2021-02-12 2023-09-19 Capital One Services, Llc Systems and methods for data security and fraud prevention in collaborative editing environments
US11360634B1 (en) 2021-05-15 2022-06-14 Apple Inc. Shared-content session user interfaces
US11893214B2 (en) 2021-05-15 2024-02-06 Apple Inc. Real-time communication user interface
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11812135B2 (en) 2021-09-24 2023-11-07 Apple Inc. Wide angle video conference
US20230370507A1 (en) * 2022-05-10 2023-11-16 Apple Inc. User interfaces for managing shared-content sessions
CN115525722B (en) * 2022-11-04 2023-03-21 杭州小电科技股份有限公司 Wide table data synchronization method and device, electronic device and storage medium
CN116957870B (en) * 2023-09-18 2023-12-22 山西美分钟信息科技有限公司 Control method, device, equipment and medium for clinical skill assessment management system

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204840B1 (en) * 1997-04-08 2001-03-20 Mgi Software Corporation Non-timeline, non-linear digital multimedia composition method and system
US20020129106A1 (en) * 2001-03-12 2002-09-12 Surgency, Inc. User-extensible system for manipulating information in a collaborative environment
US20040039934A1 (en) * 2000-12-19 2004-02-26 Land Michael Z. System and method for multimedia authoring and playback
US6789109B2 (en) * 2001-02-22 2004-09-07 Sony Corporation Collaborative computer-based production system including annotation, versioning and remote interaction
US20050010874A1 (en) * 2003-07-07 2005-01-13 Steven Moder Virtual collaborative editing room
US20050064858A1 (en) * 2003-09-19 2005-03-24 Nokia Corporation Method and device for real-time shared editing mobile video
US20060026502A1 (en) * 2004-07-28 2006-02-02 Koushik Dutta Document collaboration system
US20060053194A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20060184673A1 (en) * 2004-03-18 2006-08-17 Andrew Liebman Novel media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems
US7143357B1 (en) * 2000-05-18 2006-11-28 Vulcan Portals, Inc. System and methods for collaborative digital media development
US20060294571A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Collaborative video via distributed storage and blogging
US20060294467A1 (en) * 2005-06-27 2006-12-28 Nokia Corporation System and method for enabling collaborative media stream editing
US7296285B1 (en) * 1999-09-22 2007-11-13 Lg Electronics, Inc. Multiple item user preference information data structure and method for providing multi-media information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939509A (en) 1988-01-25 1990-07-03 At&T Company Data conferencing arrangement for stations having keyboards and displays, using a keyboard buffer and a screen buffer
US5107443A (en) 1988-09-07 1992-04-21 Xerox Corporation Private regions within a shared workspace
US5835713A (en) 1993-03-19 1998-11-10 Ncr Corporation Remote collaboration system for selectively locking the display at remote computers to prevent annotation of the display by users of the remote computers
US5649104A (en) 1993-03-19 1997-07-15 Ncr Corporation System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
JP3303543B2 (en) * 1993-09-27 2002-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション How to organize and play multimedia segments, and how to organize and play two or more multimedia stories as hyperstory
US7062532B1 (en) * 1999-03-25 2006-06-13 Autodesk, Inc. Method and apparatus for drawing collaboration on a network
US6636889B1 (en) * 2000-01-04 2003-10-21 International Business Machines Corporation System and method for client replication of collaboration space
US7237002B1 (en) * 2000-01-04 2007-06-26 International Business Machines Corporation System and method for dynamic browser management of web site
US7207041B2 (en) * 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
US8271369B2 (en) * 2003-03-12 2012-09-18 Norman Gilmore Financial modeling and forecasting system
US20070055928A1 (en) * 2005-09-02 2007-03-08 Microsoft Corporation User workflow lists to organize multimedia files

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6204840B1 (en) * 1997-04-08 2001-03-20 Mgi Software Corporation Non-timeline, non-linear digital multimedia composition method and system
US7296285B1 (en) * 1999-09-22 2007-11-13 Lg Electronics, Inc. Multiple item user preference information data structure and method for providing multi-media information
US7143357B1 (en) * 2000-05-18 2006-11-28 Vulcan Portals, Inc. System and methods for collaborative digital media development
US20040039934A1 (en) * 2000-12-19 2004-02-26 Land Michael Z. System and method for multimedia authoring and playback
US6789109B2 (en) * 2001-02-22 2004-09-07 Sony Corporation Collaborative computer-based production system including annotation, versioning and remote interaction
US20020129106A1 (en) * 2001-03-12 2002-09-12 Surgency, Inc. User-extensible system for manipulating information in a collaborative environment
US20050010874A1 (en) * 2003-07-07 2005-01-13 Steven Moder Virtual collaborative editing room
US20050064858A1 (en) * 2003-09-19 2005-03-24 Nokia Corporation Method and device for real-time shared editing mobile video
US20060184673A1 (en) * 2004-03-18 2006-08-17 Andrew Liebman Novel media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems
US20060026502A1 (en) * 2004-07-28 2006-02-02 Koushik Dutta Document collaboration system
US20060080432A1 (en) * 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US20060053194A1 (en) * 2004-09-03 2006-03-09 Schneider Ronald E Systems and methods for collaboration
US20060294571A1 (en) * 2005-06-27 2006-12-28 Microsoft Corporation Collaborative video via distributed storage and blogging
US20060294467A1 (en) * 2005-06-27 2006-12-28 Nokia Corporation System and method for enabling collaborative media stream editing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Macromedia, FLASH 8, Published 2005, Macromedia, pgs 1-290 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110010635A1 (en) * 2009-07-10 2011-01-13 Novell, Inc. Unified editable inbox
US11190559B1 (en) 2009-12-23 2021-11-30 8X8, Inc. Computer server configured for data meetings with optional participant-selected call-connecting attributes
US20110149811A1 (en) * 2009-12-23 2011-06-23 Ramprakash Narayanaswamy Web-Enabled Conferencing and Meeting Implementations with Flexible User Calling Features
US20140040767A1 (en) * 2012-08-03 2014-02-06 Oracle International Corporation Shared digital whiteboard
US20150221113A1 (en) * 2012-08-09 2015-08-06 Fujian Foxit Software Development Joint Stock Co., Ltd. Method for dynamically displaying picture after converting gif picture to pdf file
US20140096011A1 (en) * 2012-09-28 2014-04-03 Interactive Memories, Inc. Method for Facilitating Asset Contribution to an Image and or Text-Based project created through an Electronic Interface
US20140096029A1 (en) * 2012-09-28 2014-04-03 Interactive Memories, Inc. Method for Dynamic Bundling of Graphics Editing Tools presented to Clients engaged in Image-Based Project Creation through an Electronic Interface
CN103347035A (en) * 2013-05-10 2013-10-09 北京航空航天大学 Mobile phone terminal information sharing platform
US20150135045A1 (en) * 2013-11-13 2015-05-14 Tutti Dynamics, Inc. Method and system for creation and/or publication of collaborative multi-source media presentations
US20150242064A1 (en) * 2014-02-21 2015-08-27 Toshiba Tec Kabushiki Kaisha Information display apparatus that displays document page
US10474330B1 (en) * 2014-05-23 2019-11-12 Amazon Technologies, Inc. Supplementary content layers
US20170104796A1 (en) * 2015-10-08 2017-04-13 Armored Info, Llc System, method and apparatus for simultaneous media collaboration
US9665930B1 (en) * 2015-11-10 2017-05-30 Adobe Systems Incorporated Selective editing of images using editing tools with persistent tool settings
US10222962B2 (en) 2015-11-10 2019-03-05 Adobe Inc. Selective editing of images using editing tools with persistent tool settings
US20170337262A1 (en) * 2016-05-19 2017-11-23 Quid, Inc. Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents
US10824813B2 (en) * 2016-05-19 2020-11-03 Quid Inc. Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents
US9710544B1 (en) * 2016-05-19 2017-07-18 Quid, Inc. Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents
US10878019B2 (en) * 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
CN109753205A (en) * 2017-11-01 2019-05-14 北京搜狗科技发展有限公司 A kind of display methods and device
US20210037146A1 (en) * 2019-07-30 2021-02-04 Cimpress Schweiz Gmbh Systems and methods for synchronizing document edits using application state variables
US11652930B2 (en) * 2019-07-30 2023-05-16 Cimpress Schweiz Gmbh Systems and methods for synchronizing document edits using application state variables
US11140203B1 (en) * 2020-10-06 2021-10-05 Slack Technologies, Llc Ambient, ad hoc, multimedia collaboration in a group-based communication system
US11831693B2 (en) * 2020-10-06 2023-11-28 Salesforce, Inc. Ambient, ad hoc, multimedia collaboration in a group-based communication system

Also Published As

Publication number Publication date
US20070198534A1 (en) 2007-08-23
US8935334B2 (en) 2015-01-13
US7933956B2 (en) 2011-04-26
US20130061155A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
US20120331402A1 (en) System and Method to Create a Collaborative Web-based Multimedia Contextual Document
US8464164B2 (en) System and method to create a collaborative web-based multimedia contextual dialogue
US8266214B2 (en) System and method for collaborative web-based multimedia layered platform with recording and selective playback of content
US10127003B2 (en) Systems and methodologies relative to a background image in interactive media and video gaming technology
US11611595B2 (en) Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input
Owen et al. Futurelab: Social software and learning
US9477380B2 (en) Systems and methods for creating and sharing nonlinear slide-based mutlimedia presentations and visual discussions comprising complex story paths and dynamic slide objects
CN104067303B (en) Collection to the notebook driving of meeting document and annotation
US8826147B2 (en) System and methodology for collaboration, with selective display of user input annotations among member computing appliances of a group/team
KR101937513B1 (en) Sharing notes in online meetings
US8875011B2 (en) Systems and methodologies providing for collaboration among a plurality of users at a plurality of computing appliances
US20130024418A1 (en) Systems And Methods Providing Collaborating Among A Plurality Of Users Each At A Respective Computing Appliance, And Providing Storage In Respective Data Layers Of Respective User Data, Provided Responsive To A Respective User Input, And Utilizing Event Processing Of Event Content Stored In The Data Layers
KR20140088123A (en) Real time document presentation data synchronization through generic service
KR20110129898A (en) Integration of pre-meeting and post-meeting experience into a meeting lifecycle
US8918721B2 (en) Systems and methodologies providing for collaboration by respective users of a plurality of computing appliances working concurrently on a common project having an associated display
CN116235159A (en) Computer-implemented system and method for modeling executable interaction models for context-driven user interactions
KR20140121934A (en) Apparatus and method of collaborated storyboards sharing using social group
Owens Curating in the open: A case for iteratively and openly publishing curatorial research on the web
US20210209239A1 (en) Electronic content layer creation with associated access and edit permissions
Webmoor From silicon valley to the valley of teotihuacan: the “yahoo! S” of new media and digital heritage
Scott Using social media in engineering support and space flight operations control
US11875081B2 (en) Shared screen tools for collaboration
Curry et al. Social networking and scientific gateways
Strauch et al. ATG Interviews Heather Staines, Director of Partnerships at Hypothesis
Mejias How I used wikis to get my students to do their readings

Legal Events

Date Code Title Description
AS Assignment

Owner name: SIMULAT, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HON, HENRY;HON, TIMOTHY;ROREX, DAVID;AND OTHERS;REEL/FRAME:028285/0009

Effective date: 20120529

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION