US20200067995A1 - Method and system for information sharing - Google Patents
Method and system for information sharing Download PDFInfo
- Publication number
- US20200067995A1 US20200067995A1 US16/436,775 US201916436775A US2020067995A1 US 20200067995 A1 US20200067995 A1 US 20200067995A1 US 201916436775 A US201916436775 A US 201916436775A US 2020067995 A1 US2020067995 A1 US 2020067995A1
- Authority
- US
- United States
- Prior art keywords
- work
- information
- supplemental
- user
- base
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H04L65/4084—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
Definitions
- the present teaching relates to methods, systems, and programming for information sharing. Particularly, the present teaching is directed to methods, systems, and programming for multimedia information sharing through a network.
- Cloud computing service providers deliver applications via the Internet. Such cloud supported applications can be accessed on desktops or mobile devices via web browsers, while the operational software and data are stored on servers at some remote location(s) in the “cloud.”
- One of the promising application areas in the context of cloud computing is information sharing among different users because the “could” enables a user to access systems or applications via a web browser regardless of the location of or device type the user is using.
- the backbone supporting infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, a user can virtually connect to an application from anywhere. Early examples in this area include screen-sharing applications where one person's screen can be encoded video stream and real-time delivered to other persons.
- business applications have been coded entirely using web-based technologies.
- business applications for information sharing are often developed using web-based technologies where information is shared using web browsers.
- the present teaching relates to methods, systems, and programming for information sharing. Particularly, the present teaching is directed to methods, systems, and programming for multimedia information sharing through a network.
- a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented.
- a first request from a user to access a first piece of information is received.
- a first representation of the first piece of information is retrieved.
- the first piece of information is made accessible to the user.
- a second request is received from the user to generate a second piece of information based on the first piece of information.
- the second piece of information is generated based on an input received from the user.
- a second representation is created for the second piece of information.
- the second representation and the first representation are marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented.
- a first request from a first user to access a first piece of information is received.
- a first representation of the first piece of information is retrieved.
- a second representation of a second piece of information created by a second user and associated with the first piece of information is retrieved.
- a second request is received from the first user to create a third piece of information associated with the second piece of information.
- the third piece of information is created based on an input from the first user.
- a third representation is generated for the third piece of information.
- the third representation includes an indication of association to the second piece of information.
- a relationship is established between the first and the second users.
- a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented.
- a first request is received from a first user to access a first piece of information.
- a first representation of the first piece of information is retrieved.
- a second representation of a second piece of information created by a second user and associated with the first piece of information is retrieved.
- the second representation includes a solicitation for a response to the second piece of information.
- a second request is received from the first user to respond to the solicitation for a response to the second piece of information.
- the third piece of information is created based on an input from the first user in responding to the second piece of information.
- a third representation is generated for the third piece of information.
- the third representation includes an indication of association to the second piece of information.
- a service relationship is established between the first and the second users.
- a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented.
- a first request to access a first piece of information is received.
- the first request is associated with a plurality of users.
- the first piece of information is retrieved as a response to the first request.
- the first piece of information accessible to the plurality of users is delivered.
- a second request is received from an acting user to generate a second piece of information based on the first piece of information.
- the second piece of information is generated based on an input received from the acting user.
- Information indicating an association between the second piece of information and the first piece of information is created.
- the second piece of information with embedded information indicating the association is delivered to the plurality of users.
- a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented.
- a first request from a first user is received to access a first piece of information created by a second user.
- a first representation of the first piece of information is retrieved as a response to the first request.
- the first representation includes a solicitation from the second user for additional information based on the first piece of information.
- a second piece of information is created based on an input from the first user in response to the solicitation.
- a second representation for the second piece of information is generated.
- the second representation includes an indication of association to the first piece of information.
- a third piece of information is generated based on the first and second pieces of information.
- a system for information sharing which includes a base object generator and a supporting object generator.
- the base object generator is configured to receive a first request from a user to access a first piece of information.
- the base object generator is also configured to retrieve a first representation of the first piece of information as a response to the first request.
- the base object generator is further configured to make the first piece of information accessible to the user.
- the supporting object generator is configured to receive a second request from the user to generate a second piece of information based on the first piece of information.
- the supporting object generator is also configured to generate the second piece of information based on an input received from the user.
- the supporting object generator is further configured to create a second representation for the second piece of information.
- the second representation and the first representation are marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- a software product in accord with this concept, includes at least one machine-readable non-transitory medium and information carried by the medium.
- the information carried by the medium may be executable program code data regarding parameters in association with a request or operational parameters, such as information related to a user, a request, or a social group, etc.
- a machine readable and non-transitory medium having information recorded thereon for information sharing, wherein the information, when read by the machine, causes the machine to perform a series of steps.
- a first request from a user to access a first piece of information is received.
- a first representation of the first piece of information is retrieved.
- the first piece of information is made accessible to the user.
- a second request is received from the user to generate a second piece of information based on the first piece of information.
- the second piece of information is generated based on an input received from the user.
- a second representation is created for the second piece of information.
- the second representation and the first representation are marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- FIG. 1 is a high level exemplary diagram of a system for information sharing, according to an embodiment of the present teaching
- FIGS. 2( a ) and 2( b ) are more detailed diagrams of the exemplary system for information sharing shown in FIG. 1 , according to different embodiments of the present teaching;
- FIGS. 3( a )-3( g ) are depictions of exemplary applications of a system for information sharing, according to different embodiments of the present teaching
- FIG. 4 is a diagram of an exemplary information sharing controller of a system for information sharing, according to an embodiment of the present teaching
- FIG. 5 is a depiction of an exemplary non-time-based supporting object and time-based supporting object, according to an embodiment of the present teaching
- FIG. 6 is a depiction of an exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching
- FIG. 7 is a depiction of another exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching
- FIGS. 8( a ) and 8( b ) are flowcharts of exemplary processes of information sharing, according to different embodiments of the present teaching
- FIG. 9 is an exemplary diagram of a system for online meeting, according to an embodiment of the present teaching.
- FIG. 10 is a depiction of an exemplary process of online meeting, according to an embodiment of the present teaching.
- FIGS. 11( a ) and 11( b ) are flowcharts of exemplary processes of online meeting, according to different embodiments of the present teaching.
- FIG. 12 depicts a general computer architecture on which the present teaching can be implemented.
- the present disclosure describes method, system, and programming aspects of multimedia information sharing through a network to enable an effective collaboration among people based on their needs of sharing documents and ideas.
- Multimedia information needs to be shared not only as web pages by users using web browsers, but also with content delivered to personal computing devices such as smart phones, tablet computers such as IPAD, ANDROID Tablets, etc.
- Such information is not delivered in a format of video stream but instead, is delivered with synchronized multi-format objects including sound, pictures, documents, actions, etc., which can be modified, mixed, and synchronized with future added additional information objects.
- the method and system also provide a real-time meeting capability with minimum latency and better user-experience to further facilitate information sharing among people.
- dynamic multimedia information can be created and saved, for the optimized sharing purpose, it provides at least the following novel features: supporting any types of documents and can be converted to the base objects, having the mechanism for adding additional information such as notes, comment, voice, animation, etc, as the supporting objects, supporting version control, supporting online meeting, and allowing multi-users interactive information sharing.
- FIG. 1 is a high level exemplary system diagram of a system for information sharing, according to an embodiment of the present teaching.
- the information sharing system 100 may reside on a “could” computing environment formed by distributed and shared computing resources connected through a set of networks.
- the networks can be a single network or a combination of different networks.
- a network can be a local area network (LAN), a wide area network (WAN), a public network, a private network, a proprietary network, a Public Telephone Switched Network (PSTN), the Internet, a wireless network, a virtual network, or any combination thereof.
- Users may share information (e.g., documents, ideas, etc.) through the information sharing system 100 residing on the “cloud.”
- the information sharing system 100 in this example includes an information sharing controller 102 , an information database 104 , and a user database 106 .
- the information sharing controller 102 is a mechanism for controlling operations of the information sharing system 100 and will be described in detail later.
- the information database 104 may include one or more databases on one or more servers for providing and storing any information to be shared among users. For example, at least three categories of information are stored in the information database 104 : base objects, supporting objects, and synchronizing actions.
- the base objects may be converted user files of a certain type that can be accessed by any user via a web browser or an application.
- the user files may carry on information that the users want to share through information sharing system 100 and include, but are not limited to, text, presentation slide, image, music sheet, spreadsheet, video, portable document format (PDF) file, database file, or any suitable type of file known in the art.
- PDF portable document format
- the user files may not be directly accessed by different web browsers, operating systems, or applications and thus, may need to be converted to the base objects of a certain type.
- the base object may be an ADOBE FLASH file, a MICROSOFT SILVERLIGHT file, an HTML5 file, an image file, a video file, a PDF file, or any suitable type of file known in the art.
- the supporting objects may be generated based on information provided by the users in view of the base objects and associated with the corresponding base objects.
- the supporting objects may be comments on the base object provided by the same user or a different user, in the forms of, for example, a text note, a text comment, a highlighting box, an audio comment, etc.
- the supporting objects may include time-based supporting object, such as an audio, a video, an animation, a mouse movement a visual effect, and an application and non-time-based supporting object, such as a text note, a text comment, a highlighting box, a magnifier, a hyperlink, a diagram, an image, and a drawing.
- the synchronizing actions represent actions which are designed for manipulating the base objects and synchronizing the base objects with the associated supporting objects.
- the user database 106 may include one or more databases on one or more servers for providing and storing any information related to the users of the information sharing system 100 .
- the user database 106 may include, for example, user profiles and member accounts.
- the user profiles may include any suitable information related to the users (e.g., demographic information, geographical information, online activity history, etc.).
- the users of the information sharing system 100 may be “members” who have subscribed for the service of the information sharing system 100 and has an associated member account stored in the user database 106 .
- the member account may include records such as annual fees paid to the entity that runs information sharing system 100 and service fees incremented per information service and paid to the entity that runs the information sharing system 100 and/or other members who provide the piece of information (e.g., base objects and/or supporting objects). It is understood that the users may also be “non-members” who can use the information sharing system 100 as guests without subscribing for the service from the information sharing system 100 .
- the member account may also include records such as a time and date when each base object, supporting object, or synchronizing actions is created and modified by the member user.
- FIGS. 2( a ) and 2( b ) are more detailed diagrams of the information sharing system 100 shown in FIG. 1 , according to different embodiments of the present teaching.
- a user may interact with the information sharing system 100 to provide information in the forms of base objects, supporting objects, synchronizing actions, which he/she would like to share with other users for free or at a price.
- the user may first upload a user file, which contains contents to be shared, in any suitable type.
- the information sharing controller 102 then converts the user file into a base object of a certain type as noted above.
- the base object is stored in the information database 104 .
- the user then may comment on the base object by providing add-on text.
- the information sharing controller 102 then generates a supporting object based on the add-on text.
- the user may further input a synchronizing action to the information sharing system 100 .
- the user may move the mouse cursor on the screen to indicate where the add-on text should be located on the base object.
- the mouse movement may be recorded as a synchronizing action by the information sharing controller 102 and stored in the information database 104 .
- the base object itself may also be modified by the user.
- the user may modify the content of the original user file and upload the modified user file to the information sharing system 100 to replace the previous version of the base object.
- the information sharing controller 102 then generates the modified base object and stores it in the information database 104 .
- different versions of the base object may be stored in the information database 104 for version control purpose.
- the number of supporting objects for a particular base object may not be limited.
- the user may further provide additional add-on information to the modified base object as the additional supporting objects.
- FIG. 2( b ) shows building a dynamic information sharing linkage between at least two users through the information sharing system 100 .
- the base objects, supporting objects, and synchronizing actions may be transmitted between the paired users to achieve information sharing.
- Each user may comment on the other party's shared information by adding supporting objects and synchronizing, actions on the base object.
- one or more users may have local information sharing clients 202 each including a local database such that the base objects and supporting objects stored in the information database 104 may be retrieved and stored in the local database.
- the information sharing client 202 may reside on any suitable device, such as but not limited to, a desktop or laptop computer, a netbook, a tablet, a smart phone, a game console, a set-top box, etc.
- synchronizing actions may be retrieved and stored in the information sharing client 202 along with the corresponding base and supporting objects.
- a user dynamically manipulates the base object and/or the supporting object through synchronizing actions (e.g., moving a highlighting box to a different location on a WORD document)
- the dynamically generated synchronizing actions e.g., the mouse movement
- the information sharing between the users is facilitated since the amount of data needs to be transmitted (dynamic synchronizing actions) is minimized.
- a particular service relationship may be established between the paired users through the information sharing system 100 .
- the service relationship includes, for example, teach-student, editor-author, attorney-client, doctor-patient, and collaborators relationships, to name a few.
- FIGS. 3( a )-3( g ) depict exemplary applications of the information sharing system 100 , according to different embodiments of the present teaching FIG. 3( a ) shows interactive and remote learning through the information sharing system 100 .
- a teacher teaches online or offline with lecture notes (as base objects) and creates online or offline testing exams and homework assignments (as base objects). Teachers can also subscribe and make copies of standard teaching lectures, exams, and homework assignment and further customize the lectures, exams, and homework assignment to better suite the needs of his/her students. Students can learn online or offline by, for example, watching and listening to the lectures and completing the exams and homework assignments (as supporting objects associated with the base objects).
- the teacher may further review and comment on the student's answers to the exams and assignments by adding additional supporting objects to the exams and assignments.
- the lectures, exams, and assignments may be delivered and saved to the each student's local information sharing client 202 .
- the teacher and students may be members of the information sharing system 100 , and the interactive and remote learning establishes a teach-student relationship between the members.
- the member account in the user database 106 may track the information sharing/exchange between the teacher and students in order to calculate the service charges that the students need to pay to the entity that runs the information sharing system 100 and the teacher.
- the service charge calculation may be based on the number of base and/or supporting objects downloaded to the student's local information sharing client 202 (e.g., the total pages of lecture notes), the number of course subjects the students have subscribed, or the amount of time the teacher and/or the students has spent on the interactive and remote learning.
- non-member users of the information sharing system 100 may also be able to participate in the learning for free through the information sharing system 100 either as the teacher and the student.
- the teacher may make a profit by adding advertisements on the teaching materials that he/she uploads to the information database 104 , and the entity that runs the information sharing system 100 may also add additional advertisement on the teaching materials to make a profit instead of charging the students directly.
- the students may provide feedbacks and ratings to the teachers and their teaching materials, and the feedbacks may be tracked in the member account as a factor to determine the service fees to be allocated to each teacher.
- FIG. 3( b ) shows music sharing, learning, and publication through the information sharing system 100 .
- music sheets may be converted and stored as base objects in the forms of, for example, PDF, FLASH, or image files, which can be synchronized with supporting objects, such as instruments music or songs in the forms of audio or video files, add-on notes, highlighting, etc.
- supporting objects such as instruments music or songs in the forms of audio or video files, add-on notes, highlighting, etc.
- Such a platform powers musicians and students to cooperate and learn based on the same standard base objects (the converted sheet music as the base objects).
- the music recordings (as supporting objects) made by musicians may be synchronized with the music sheets (as base objects) and available to other users of the information sharing system 100 .
- musicians can compose and publish their sheet music as standard objects, or record their piano or other instrument playing, and upload the playing as the supporting objects to the information database 104 so that other users can share the recorded playing for various purposes such as entertainment, music learning, or publishing their own recording with the professional music accompaniments.
- the information database 104 may contain standard music sheets for the musicians to record and upload their music accompaniments as supporting objects to the standard music sheets.
- the base and supporting objects may be stored locally instead of being transmitted as video streaming, the music sharing and learning in this example can be achieved with minimum latency.
- the music accompaniment made by famous musicians could be featured and available for other users to sing along or to play their music instruments along with, at a certain price.
- This allows musicians to publish their recording through the information sharing system 100 to easily promote and sell their music pieces.
- users of the music sharing, learning, and publication application may be either members or non-members, and the monetization schemes may vary accordingly as noted above.
- service charges may be incremented for each music accompaniment download and tracked in the members' accounts in the user database 106 .
- the information sharing system 100 may be used to facilitate such transactions by splitting the collected service fees between the musicians and entity that runs the information sharing system 100 .
- different users e.g., musicians
- can post their performance on a piece of music and another user can select and choose to compose different pieces together to make e.g., a symphony.
- a composer can post his/her music and solicit other users to play different instruments and then put them together.
- the put-together music may be distributed or downloaded to make a profit.
- information sharing system 100 may keep track of which piece is actually incorporated into the final performance and the number of downloads.
- the entity that runs the information sharing system 100 may make a profit by taking a percentage of the income, and at the same time, the information sharing system 100 may keep track of the contributors to make sure that they will also get paid because their piece has been incorporated into the final product.
- the information sharing system 100 may generate a sharing object that comprises all the information generated from the original base object, which, for example, includes all the modifications of the original content of the user file and all the add-on comments, notes, explanations, reviews, etc., in the forms of supporting objects and synchronizing actions.
- Such sharing object may have its special value as a new piece of information and may be distributed and downloaded by any user.
- the base object itself may contain a solicitation to a particular group of users (e.g., collaborators in the same entity) or to all users of the information sharing system 100 for contributing to the sharing object.
- the applications in FIGS. 3( a ) and 3( b ) may be combined such that interactive and remote music learning may be achieved through the information sharing system 100 .
- FIG. 3( c ) shows research notes and papers discussion through the information sharing system 100 .
- Research lab often requires their research members to share notes and publications.
- Research notes are often written in a document and word processing file format, such as MICROSOFT WORD, and need to be shared with other researchers.
- the information sharing system 100 provides an intuitive and effective way to achieve the research notes and papers sharing among researchers.
- the research note and papers may be generated as base objects and shared with other members in the research lab. The researchers may comment on the base objects by adding supporting objects in various forms as noted above.
- FIG. 3( d ) shows team collaboration through the information sharing system 100 .
- any team member can save documents, ideas or any information to the information database 104 through the information sharing system 100 in order to share the information with collaborators.
- the base and supporting objects may used as the work requirements or work specification such that the team leader or manager can assign the base and supporting objects to team members as work assignments to manage teamwork.
- FIG. 3( e ) shows interactive meeting through the information sharing system 100 .
- the information sharing system 100 may enable users to conduct an online meeting with minimum latency. For example, during the meeting, the presenter may switch pages of a document, highlight certain areas, play animations, and playback pre-recorded audio files that are synchronized with the page switching or the animation.
- FIG. 3( f ) shows real-time polling and voting through the information sharing system 100 .
- the information sharing system 100 may be applied for real-time polling and voting when multiple inputs are required in real-time for making team consent and agreement.
- FIG. 3( g ) shows information sharing for social networking through the information sharing system 100 .
- any information such as documents can be easily converted to movie-like presentations as base objects by the information sharing system 100 .
- the information sharing system 100 may be integrated with any other social-networking tools for more impressive and effective information sharing.
- FIG. 4 depicts an exemplary diagram of the information sharing controller 102 , according to an embodiment of the present teaching.
- the information sharing controller 102 includes a base object generator 402 , a supporting object generator 404 , and a synchronizing engine 406 , each operatively coupled to the information database 104 .
- the base object generator 402 may be configured to convert a user file to a base object of a certain type such that the information in the user file is accessible to any user via a web browser or an application.
- the base object generator 402 may reside on a server in the “cloud” or on the local information sharing clients 202 .
- the base object generated by the base object generator 402 may be stored in the information database 104 directly if the base object generator 402 is in the “cloud” or may be stored in the local database and uploaded to the information database 104 later if the base object generator 402 is on the local information sharing clients 202 .
- the information sharing controller 102 may also include a supporting object generator 404 configured to generate the supporting objects to be associated with the base objects in response to user inputs and requests.
- the supporting objects may include time-based supporting objects that are synchronized with the base object in a time scale and non-time-based supporting objects that are coordinated with the base object in a space scale.
- the supporting objects then may be stored in the information database 104 as separate files from the associated base objects.
- the supporting object generator 404 may reside on a server in the “cloud” or on the local information sharing client 202 .
- the information sharing controller 102 may further include a synchronizing engine 406 configured to generate synchronizing actions for manipulating and associating the base objects and corresponding supporting objects.
- a synchronizing engine 406 configured to generate synchronizing actions for manipulating and associating the base objects and corresponding supporting objects.
- the base objects and supporting objects may already exist in the local database of the local information sharing client 202 where the base and supporting objects are generated or may be pre-downloaded to the local database.
- only the dynamically changed synchronizing actions need to be transferred from the information database 104 to each user's local information sharing client 202 to coordinate the presentation of the base and supporting objects on the local information sharing client 202 .
- FIG. 5 is a depiction of an exemplary non-time-based supporting object 502 and time-based supporting object 504 , according to an embodiment of the present teaching.
- those visual objects are coordinated with the base objects 506 by specifying the relative scale coordinates on the base objects 506 .
- the base object 506 may be represented as a visual object with three dimensions, including page numbers representing the z coordinate and the horizontal and vertical coordinates (x, y) representing a position where the non-time-based supporting object 502 to be placed initially, along with the width and height of the non-time-based supporting object 502 , as shown in FIG. 5 .
- standard resolutions/coordinates may be applied for coordinating the non-time-based supporting object 502 on the base object 506 .
- the information sharing system 100 may use a relative scale mechanism of height and width of the base object 506 , allowing the non-time-based supporting object 502 to be displayed independent of screen size or resolution.
- time-based supporting object 504 these objects and the base object 506 may be synchronized in a time scale. As shown in FIG. 5 , each time-based supporting object 504 or each part of a time-based supporting object 504 may be activated at a correct time as triggered by one or more synchronizing actions.
- the synchronizing engine 406 may use time as the coordinating scale so that any audio, video, mouse movements, animations, visual-effects, applications, or any other time-based supporting object 504 , are recorded with the absolute value of time. For example, as a user plays back the recorded audio or an animation, synchronizing actions may be used to synchronize the audio or animation with the base object.
- the synchronizing actions may include information regarding, for example, on which page or at what time to active the time-based supporting object 504 . Synchronizing multiple time-based supporting objects 504 may also be supported. For example, recorded animations may be saved and played back while playing back the audio.
- time-based supporting objects 504 may be synchronized with a video type base object 506 . This can be achieved in a way similar to how the time-based supporting objects 504 are handled with respect to the document type base objects 506 .
- FIG. 6 is a depiction of an exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching.
- different users may add different supporting objects, which may be synchronized by time base coordinates and/or the three-dimensional space coordinates, as noted above.
- a version control mechanism may be applied to control the modification of the base object and the association of additional supporting objects to the different versions of the base object. For example, once a user modifies the content of the user file, the base object may be converted again and labeled as a new version to distinguish it from the previous version. In one example, a new supporting object may be always associated with the latest version of the base object.
- the supporting objects associated with the latest version of the base object may be re-associated with the latest version of the base object if necessary. It is understood that some or all of the versions of a base object may be temporally or permanently stored in the information database 104 and/or local database if necessary.
- FIG. 7 is a depiction of another exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching.
- the base object is version controlled, but also the supporting objects and synchronizing actions may be version controlled.
- a base object with its associated supporting object(s) and synchronizing actions may be defined as a sharing object. Any change on the base object, supporting objects, or synchronizing action may trigger the information sharing system 100 to record a new version of the sharing object. For example, adding new add-on notes and sounds to the sharing object may generate a new version of the sharing object; modifying the base document may generate a new version of the sharing object; adding a new synchronizing action to the previous version may also generate a new version of the sharing object.
- the information sharing system 100 may regenerate each version of a sharing object with the corresponding base object, supporting object(s), and synchronizing action(s).
- FIGS. 8( a ) and 8( b ) are flowcharts of exemplary processes in which information sharing is performed, according to different embodiments of the present teaching.
- a first request is received from a user to access a first piece of information in the information database 104 .
- a first representation of the first piece of information is retrieved.
- the first piece of information is made accessible to the user.
- the information sharing system 100 may convert the first piece of information to a base object of a certain type and present the base object to the user as a response to the first request.
- a second request to generate a second piece of information based on the first piece of information is received.
- the second piece of information is generated based on an input received from the user.
- a second representation of the second piece of information is created.
- the information sharing system 100 may receive a second request from the user to generate a second piece of information, such as a supporting object and/or a synchronizing action, based on the base object.
- the information sharing system 100 may generate the second piece of information based on the user's inputs and create a representation of the second piece of information so that other users may retrieve the second piece of information.
- the second representation may be an indication of the second piece of information available for retrieval, such as a list of supporting objects that are associated with the first piece of information for selection.
- the first and second pieces of information are stored, for example, in the information database 104 or local databases.
- the second piece information is associated with the first piece of information.
- the second representation of the second piece of information is retrieved.
- the second representation and the first representation may be marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- a first request is received from a first user to access a first piece of information.
- a first representation of the first piece of information is retrieved.
- a second representation of a second piece of information created by a second user and associated with the first piece of information is retrieved.
- the information sharing system 100 may receive a first request from a first user to access a first piece of information.
- the base object and its associated supporting objects and synchronizing actions created by a second user may be retrieved and presented to the first user as the first and second pieces of information, respectively.
- the representation of the second piece of information may include a solicitation for a response to the second piece of information.
- the first piece information may be a music sheet
- the second piece of information may be a playing of the music sheet made by the second user with a solicitation to the first user for comments on the playing.
- a second request is received from the first user to create a third piece of information associated with the second piece of information.
- the third piece of information is created based on an input from the first user.
- a third representation is created for the third piece of information.
- the third representation includes an indication of association to the second piece of information.
- a relationship between the first and the second users is established.
- the information sharing system 100 may further receive a second request from the first user to create a third piece of information, such as additional supporting objects and/or synchronizing actions. The information sharing system 100 then may create the third piece of information and establish a relationship between the first and second users.
- a record may be created as an evidence of the relationship by the information sharing system 100 .
- the third piece of information e.g., comments made by the first user on the second user's playing
- FIG. 9 is an exemplary diagram of a system for online meeting, according to an embodiment of the present teaching.
- the system may include a meeting server 900 residing in the “cloud” and local meeting clients 902 , 904 for the meeting presenter (host) and participants (guests).
- the meeting server 900 may include the information database 104 that stores the base and supporting objects and the synchronizing engine 406 operative to simultaneously dispatch dynamic synchronizing actions (actionable items) received from the meeting presenter 902 to each meeting participant 904 .
- the base and supporting objects such as the presentation slides and comments, may be pre-downloaded to the local database of each meeting participant 904 .
- the presenter 902 may dynamically generate new synchronizing actions by the synchronizing action generator 906 , such as moving the mouse cursor on the presentation slides, highlighting an area, or switching pages. These dynamic synchronizing actions may be synchronized with the base object and supporting objects and outputted to the presenter 902 .
- the dynamic synchronizing actions may be simultaneously transmitted to the action synchronizing module 908 of each participant in real-time. Similarly, these dynamic synchronizing actions may be synchronized with the base object and supporting objects and presented to each participant 904 .
- an object x may be presentation slides that have been pre-downloaded to the local database of each participant before the meeting starts.
- the presenter may generate a first dynamic synchronizing action (actionable item) of switching the presentation slides to page 22 .
- the first dynamic synchronizing action may be dispatched to each meeting participant at substantially the same time of t 11 , such that the presentation slides on each participant's machine may be also switched to page 22 .
- the presenter may create a second dynamic synchronizing action of adding an animation note on page 22 .
- the animation note may exist in the local database of participant 1, and thus, only the dynamic synchronizing action itself needs to be transferred to participant 1 to instruct which and where the animation note needs to be added.
- participant 2 may retrieve the animation note from participant 1 or from the information database.
- the second dynamic synchronizing action may not be directed dispatched from the meeting server to participant 2 but instead, may be transmitted from participant 1.
- other dynamic synchronizing actions such as moving mouse cursor and highlighting, may also be dispatched to the participants in a similar manner as noted above.
- FIGS. 11( a ) and 11( b ) are flowcharts of exemplary processes in which online meeting is performed, according to different embodiments of the present teaching.
- a first request to access a first piece of information is received.
- the first request is associated with a plurality of users, e.g., meeting participants 904 .
- the first piece of information may be base objects and supporting objects, such as presentation slides, comments, or other shared documents for the meeting.
- the first piece of information is retrieved as a response to the first request.
- the retrieved first piece of information is delivered to the plurality of users to become accessible at block 1106 .
- the meeting server 900 may retrieve the presentation slides from the information database 102 so that each meeting participant 904 can pre-download the presentation slides before the meeting starts.
- a second request is received from an acting user, e.g., the meeting presenter 902 , to generate a second piece of information based on the first piece of information.
- the second piece of information e.g., synchronizing actions
- the presenter 902 may dynamically generate new synchronizing actions by the synchronizing action generator 906 , such as moving the mouse cursor on the presentation slides, highlighting an area, or switching pages. Proceeding to block 1112 , information indicating an association between the second piece of information and the first piece of information is created.
- dynamic synchronizing actions may be synchronized with the base object and supporting objects and output to the presenter 902 .
- the second piece of information with embedded information indicating the association is delivered to the plurality of users.
- the dynamic synchronizing actions may be simultaneously transmitted to the action synchronizing module 908 of each participant 904 in real-time.
- the meeting server 900 delivers a base object, e.g., presentation slides, to the meeting presenter 902 and each meeting participant 904 at blocks 1116 and 1118 , respectively.
- the meeting server 900 receives an input from the meeting presenter 902 to generate an actionable item for the base object, such as moving the mouse cursor on the presentation slides, highlighting an area, or switching pages.
- the meeting server 900 delivers the actionable item to all the meeting participants 904 simultaneously, and each meeting participant 904 receives the actionable item in real-time during the meeting at block 1124 .
- the action item is then associated with the base object for the meeting presenter 902 and meeting participants 904 at blocks 1126 and 1128 , respectively.
- the base object with the associated actionable item is then presented to the meeting presenter 902 and meeting participants 904 at blocks 1130 and 1132 , respectively.
- This online meeting not only allows users to view the same shared document, but also transfers the synchronizing actions performed by the presenter to all participants instantly. Since the size of the synchronizing action data is relative small, the latency is minimized. As a result, the participants can view the synchronized actions as the meeting presenter performs them in real-time. It thus provides a real-time and in-person feeling for the meetings to the end users. Not having any latency and providing an in-person feeling promote a more effective communication tool to its users.
- meetings can be recorded and played back by other users so that those people who are not able to attend the meeting in live may view the exactly same meeting at a later time. Furthermore, since the recorded meetings are the synchronized actions saved in sequential order based on the time scale, such recorded meetings have very small file sizes and provide more advantages over traditional methods where online meetings are recorded as video files with large size.
- computer hardware platforms may be used as the hardware platform(s) for one or more of the elements described herein.
- the hardware elements, operating systems, and programming languages of such computers are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith to adapt those technologies to implement the processing essentially as described herein.
- a computer with user interface elements may be used to implement a personal computer (PC) or other type of work station or terminal device, although a computer may also act as a server if appropriately programmed. It is believed that those skilled in the art are familiar with the structure, programming, and general operation of such computer equipment and as a result the drawings should be self-explanatory.
- FIG. 12 depicts a general computer architecture on which the present teaching can be implemented and has a functional block diagram illustration of a computer hardware platform that includes user interface elements.
- the computer may be a general-purpose computer or a special purpose computer.
- This computer 1200 can be used to implement any components of the information sharing architecture as described herein. Different components of the system can all be implemented on one or more computers such as computer 1200 , via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computer functions relating to information sharing may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load.
- the computer 1200 for example, includes COM ports 1202 connected to and from a network connected thereto to facilitate data communications.
- the computer 1200 also includes a central processing unit (CPU) 1204 , in the form of one or more processors, for executing program instructions.
- the exemplary computer platform includes an internal communication bus 1206 , program storage and data storage of different forms, e.g., disk 1208 , read only memory (ROM) 1210 , or random access memory (RAM) 1212 , for various data files to be processed and/or communicated by the computer, as well as possibly program instructions to be executed by the CPU.
- the computer 1200 also includes an I/O component 1214 , supporting input/output flows between the computer and other components therein such as user interface elements 1216 .
- the computer 1200 may also receive programming and data via network communications.
- aspects of the method of information sharing may be embodied in programming.
- Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine readable medium.
- Tangible non-transitory “storage” type media include any or all of the memory or other storage for the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide storage at any time for the software programming.
- All or portions of the software may at times be communicated through a network such as the Internet or various other telecommunication networks. Such communications, for example, may enable loading of the software from one computer or processor into another.
- another type of media that may bear the software elements includes optical, electrical, and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links.
- the physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software.
- terms such as computer or machine “readable medium” refer to an medium that participates in providing instructions to a processor for execution.
- Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) or the like, which may be used to implement the system or any of its components as shown in the drawings.
- Volatile storage media include dynamic memory, such as a main memory of such a computer platform.
- Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that form a bus within a computer system.
- Carrier-wave transmission media can take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications.
- Computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer can read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
- The present application claims priority to U.S. Provisional Application Ser. No. 61/576,389 filed Dec. 16, 2011 entitled “METHOD AND SYSTEM FOR INFORMATION SHARING,” which is incorporated herein by reference in its entirety.
- The present teaching relates to methods, systems, and programming for information sharing. Particularly, the present teaching is directed to methods, systems, and programming for multimedia information sharing through a network.
- Cloud computing service providers deliver applications via the Internet. Such cloud supported applications can be accessed on desktops or mobile devices via web browsers, while the operational software and data are stored on servers at some remote location(s) in the “cloud.” One of the promising application areas in the context of cloud computing is information sharing among different users because the “could” enables a user to access systems or applications via a web browser regardless of the location of or device type the user is using. As the backbone supporting infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, a user can virtually connect to an application from anywhere. Early examples in this area include screen-sharing applications where one person's screen can be encoded video stream and real-time delivered to other persons. In another examples, business applications have been coded entirely using web-based technologies. In still another example, business applications for information sharing are often developed using web-based technologies where information is shared using web browsers.
- Traditionally, people share information online through means such as email, instant messenger, message board, desktop sharing, etc., which may not be effective and efficient, especially when multiple parties are involved and when the shared information includes multimedia information. For example, traditional online meeting based on screen-sharing may introduce a significant latency because it requires transferring the desktop information of the presenter in the form of a video stream to each of the participants. Moreover, currently, there is no effective cloud-based platform for multiple users to modify shared information in a simple and straightforward manner and consolidate modifications to the shared information from different users in an intuitive form. Therefore, there is a need to provide a solution for sharing multimedia information with an improved user experience.
- The present teaching relates to methods, systems, and programming for information sharing. Particularly, the present teaching is directed to methods, systems, and programming for multimedia information sharing through a network.
- In one example, a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented. A first request from a user to access a first piece of information is received. As a response to the first request, a first representation of the first piece of information is retrieved. The first piece of information is made accessible to the user. A second request is received from the user to generate a second piece of information based on the first piece of information. The second piece of information is generated based on an input received from the user. A second representation is created for the second piece of information. The second representation and the first representation are marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- In another example, a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented. A first request from a first user to access a first piece of information is received. As a response to the first request, a first representation of the first piece of information is retrieved. A second representation of a second piece of information created by a second user and associated with the first piece of information is retrieved. A second request is received from the first user to create a third piece of information associated with the second piece of information. The third piece of information is created based on an input from the first user. A third representation is generated for the third piece of information. The third representation includes an indication of association to the second piece of information. A relationship is established between the first and the second users.
- In still another example, a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented. A first request is received from a first user to access a first piece of information. As a response to the first request, a first representation of the first piece of information is retrieved. A second representation of a second piece of information created by a second user and associated with the first piece of information is retrieved. The second representation includes a solicitation for a response to the second piece of information. A second request is received from the first user to respond to the solicitation for a response to the second piece of information. The third piece of information is created based on an input from the first user in responding to the second piece of information. A third representation is generated for the third piece of information. The third representation includes an indication of association to the second piece of information. A service relationship is established between the first and the second users.
- In yet another example, a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented. A first request to access a first piece of information is received. The first request is associated with a plurality of users. The first piece of information is retrieved as a response to the first request. The first piece of information accessible to the plurality of users is delivered. A second request is received from an acting user to generate a second piece of information based on the first piece of information. The second piece of information is generated based on an input received from the acting user. Information indicating an association between the second piece of information and the first piece of information is created. The second piece of information with embedded information indicating the association is delivered to the plurality of users.
- In yet another example, a method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for information sharing is presented. A first request from a first user is received to access a first piece of information created by a second user. A first representation of the first piece of information is retrieved as a response to the first request. The first representation includes a solicitation from the second user for additional information based on the first piece of information. A second piece of information is created based on an input from the first user in response to the solicitation. A second representation for the second piece of information is generated. The second representation includes an indication of association to the first piece of information. A third piece of information is generated based on the first and second pieces of information. The third piece of information is provided to a third user. Relationships between the third and first users and between the third and second users are established. An account record corresponding to the established relationships is created.
- In a different example, a system for information sharing is presented, which includes a base object generator and a supporting object generator. The base object generator is configured to receive a first request from a user to access a first piece of information. The base object generator is also configured to retrieve a first representation of the first piece of information as a response to the first request. The base object generator is further configured to make the first piece of information accessible to the user. The supporting object generator is configured to receive a second request from the user to generate a second piece of information based on the first piece of information. The supporting object generator is also configured to generate the second piece of information based on an input received from the user. The supporting object generator is further configured to create a second representation for the second piece of information. The second representation and the first representation are marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- Other concepts relate to software for information sharing. A software product, in accord with this concept, includes at least one machine-readable non-transitory medium and information carried by the medium. The information carried by the medium may be executable program code data regarding parameters in association with a request or operational parameters, such as information related to a user, a request, or a social group, etc.
- In one example, a machine readable and non-transitory medium having information recorded thereon for information sharing, wherein the information, when read by the machine, causes the machine to perform a series of steps. A first request from a user to access a first piece of information is received. As a response to the first request, a first representation of the first piece of information is retrieved. The first piece of information is made accessible to the user. A second request is received from the user to generate a second piece of information based on the first piece of information. The second piece of information is generated based on an input received from the user. A second representation is created for the second piece of information. The second representation and the first representation are marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available.
- The methods, systems, and/or programming described herein are further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:
-
FIG. 1 is a high level exemplary diagram of a system for information sharing, according to an embodiment of the present teaching; -
FIGS. 2(a) and 2(b) are more detailed diagrams of the exemplary system for information sharing shown inFIG. 1 , according to different embodiments of the present teaching; -
FIGS. 3(a)-3(g) are depictions of exemplary applications of a system for information sharing, according to different embodiments of the present teaching; -
FIG. 4 is a diagram of an exemplary information sharing controller of a system for information sharing, according to an embodiment of the present teaching; -
FIG. 5 is a depiction of an exemplary non-time-based supporting object and time-based supporting object, according to an embodiment of the present teaching; -
FIG. 6 is a depiction of an exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching; -
FIG. 7 is a depiction of another exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching; -
FIGS. 8(a) and 8(b) are flowcharts of exemplary processes of information sharing, according to different embodiments of the present teaching; -
FIG. 9 is an exemplary diagram of a system for online meeting, according to an embodiment of the present teaching; -
FIG. 10 is a depiction of an exemplary process of online meeting, according to an embodiment of the present teaching; -
FIGS. 11(a) and 11(b) are flowcharts of exemplary processes of online meeting, according to different embodiments of the present teaching; and -
FIG. 12 depicts a general computer architecture on which the present teaching can be implemented. - In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. However, it should be apparent to those skilled in the art that the present teachings may be practiced without such details. In other instances, well known methods, procedures, systems, components, and/or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present teachings.
- The present disclosure describes method, system, and programming aspects of multimedia information sharing through a network to enable an effective collaboration among people based on their needs of sharing documents and ideas. Multimedia information needs to be shared not only as web pages by users using web browsers, but also with content delivered to personal computing devices such as smart phones, tablet computers such as IPAD, ANDROID Tablets, etc. Such information is not delivered in a format of video stream but instead, is delivered with synchronized multi-format objects including sound, pictures, documents, actions, etc., which can be modified, mixed, and synchronized with future added additional information objects. In additions, the method and system also provide a real-time meeting capability with minimum latency and better user-experience to further facilitate information sharing among people. As such dynamic multimedia information can be created and saved, for the optimized sharing purpose, it provides at least the following novel features: supporting any types of documents and can be converted to the base objects, having the mechanism for adding additional information such as notes, comment, voice, animation, etc, as the supporting objects, supporting version control, supporting online meeting, and allowing multi-users interactive information sharing.
- Additional novel features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The novel features of the present teachings may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities and combinations set forth in the detailed examples discussed below.
-
FIG. 1 is a high level exemplary system diagram of a system for information sharing, according to an embodiment of the present teaching. Theinformation sharing system 100 may reside on a “could” computing environment formed by distributed and shared computing resources connected through a set of networks. The networks can be a single network or a combination of different networks. For example, a network can be a local area network (LAN), a wide area network (WAN), a public network, a private network, a proprietary network, a Public Telephone Switched Network (PSTN), the Internet, a wireless network, a virtual network, or any combination thereof. Users may share information (e.g., documents, ideas, etc.) through theinformation sharing system 100 residing on the “cloud.” - The
information sharing system 100 in this example includes aninformation sharing controller 102, aninformation database 104, and auser database 106. Theinformation sharing controller 102 is a mechanism for controlling operations of theinformation sharing system 100 and will be described in detail later. Theinformation database 104 may include one or more databases on one or more servers for providing and storing any information to be shared among users. For example, at least three categories of information are stored in the information database 104: base objects, supporting objects, and synchronizing actions. - The base objects may be converted user files of a certain type that can be accessed by any user via a web browser or an application. For example, the user files may carry on information that the users want to share through
information sharing system 100 and include, but are not limited to, text, presentation slide, image, music sheet, spreadsheet, video, portable document format (PDF) file, database file, or any suitable type of file known in the art. The user files may not be directly accessed by different web browsers, operating systems, or applications and thus, may need to be converted to the base objects of a certain type. For example, the base object may be an ADOBE FLASH file, a MICROSOFT SILVERLIGHT file, an HTML5 file, an image file, a video file, a PDF file, or any suitable type of file known in the art. - The supporting objects may be generated based on information provided by the users in view of the base objects and associated with the corresponding base objects. For example, the supporting objects may be comments on the base object provided by the same user or a different user, in the forms of, for example, a text note, a text comment, a highlighting box, an audio comment, etc. Depending on the way in which the supporting objects are associated with the base objects, the supporting objects may include time-based supporting object, such as an audio, a video, an animation, a mouse movement a visual effect, and an application and non-time-based supporting object, such as a text note, a text comment, a highlighting box, a magnifier, a hyperlink, a diagram, an image, and a drawing. The synchronizing actions (actionable items) represent actions which are designed for manipulating the base objects and synchronizing the base objects with the associated supporting objects.
- The
user database 106 may include one or more databases on one or more servers for providing and storing any information related to the users of theinformation sharing system 100. Theuser database 106 may include, for example, user profiles and member accounts. The user profiles may include any suitable information related to the users (e.g., demographic information, geographical information, online activity history, etc.). In one example, the users of theinformation sharing system 100 may be “members” who have subscribed for the service of theinformation sharing system 100 and has an associated member account stored in theuser database 106. The member account may include records such as annual fees paid to the entity that runsinformation sharing system 100 and service fees incremented per information service and paid to the entity that runs theinformation sharing system 100 and/or other members who provide the piece of information (e.g., base objects and/or supporting objects). It is understood that the users may also be “non-members” who can use theinformation sharing system 100 as guests without subscribing for the service from theinformation sharing system 100. The member account may also include records such as a time and date when each base object, supporting object, or synchronizing actions is created and modified by the member user. -
FIGS. 2(a) and 2(b) are more detailed diagrams of theinformation sharing system 100 shown inFIG. 1 , according to different embodiments of the present teaching. InFIG. 2(a) , a user may interact with theinformation sharing system 100 to provide information in the forms of base objects, supporting objects, synchronizing actions, which he/she would like to share with other users for free or at a price. In this example, the user may first upload a user file, which contains contents to be shared, in any suitable type. Theinformation sharing controller 102 then converts the user file into a base object of a certain type as noted above. The base object is stored in theinformation database 104. The user then may comment on the base object by providing add-on text. Theinformation sharing controller 102 then generates a supporting object based on the add-on text. In order to associate the supporting object with the base object, the user may further input a synchronizing action to theinformation sharing system 100. For example, the user may move the mouse cursor on the screen to indicate where the add-on text should be located on the base object. The mouse movement may be recorded as a synchronizing action by theinformation sharing controller 102 and stored in theinformation database 104. In this example, the base object itself may also be modified by the user. For example, the user may modify the content of the original user file and upload the modified user file to theinformation sharing system 100 to replace the previous version of the base object. Theinformation sharing controller 102 then generates the modified base object and stores it in theinformation database 104. In one example, different versions of the base object may be stored in theinformation database 104 for version control purpose. The number of supporting objects for a particular base object may not be limited. For example, the user may further provide additional add-on information to the modified base object as the additional supporting objects. -
FIG. 2(b) shows building a dynamic information sharing linkage between at least two users through theinformation sharing system 100. The base objects, supporting objects, and synchronizing actions may be transmitted between the paired users to achieve information sharing. Each user may comment on the other party's shared information by adding supporting objects and synchronizing, actions on the base object. In this example, one or more users may have localinformation sharing clients 202 each including a local database such that the base objects and supporting objects stored in theinformation database 104 may be retrieved and stored in the local database. Theinformation sharing client 202 may reside on any suitable device, such as but not limited to, a desktop or laptop computer, a netbook, a tablet, a smart phone, a game console, a set-top box, etc. In this example, synchronizing actions may be retrieved and stored in theinformation sharing client 202 along with the corresponding base and supporting objects. Once a user dynamically manipulates the base object and/or the supporting object through synchronizing actions (e.g., moving a highlighting box to a different location on a WORD document), only the dynamically generated synchronizing actions (e.g., the mouse movement) need to be transmitted to the other user because the manipulated base object and the supporting object have already been retrieved and stored in the local database. As a result, the information sharing between the users is facilitated since the amount of data needs to be transmitted (dynamic synchronizing actions) is minimized. In this example, depending on the type of shared information, a particular service relationship may be established between the paired users through theinformation sharing system 100. The service relationship includes, for example, teach-student, editor-author, attorney-client, doctor-patient, and collaborators relationships, to name a few. -
FIGS. 3(a)-3(g) depict exemplary applications of theinformation sharing system 100, according to different embodiments of the present teachingFIG. 3(a) shows interactive and remote learning through theinformation sharing system 100. In one example, a teacher teaches online or offline with lecture notes (as base objects) and creates online or offline testing exams and homework assignments (as base objects). Teachers can also subscribe and make copies of standard teaching lectures, exams, and homework assignment and further customize the lectures, exams, and homework assignment to better suite the needs of his/her students. Students can learn online or offline by, for example, watching and listening to the lectures and completing the exams and homework assignments (as supporting objects associated with the base objects). The teacher may further review and comment on the student's answers to the exams and assignments by adding additional supporting objects to the exams and assignments. For offline learning, the lectures, exams, and assignments may be delivered and saved to the each student's localinformation sharing client 202. As noted above, the teacher and students may be members of theinformation sharing system 100, and the interactive and remote learning establishes a teach-student relationship between the members. The member account in theuser database 106 may track the information sharing/exchange between the teacher and students in order to calculate the service charges that the students need to pay to the entity that runs theinformation sharing system 100 and the teacher. For example, the service charge calculation may be based on the number of base and/or supporting objects downloaded to the student's local information sharing client 202 (e.g., the total pages of lecture notes), the number of course subjects the students have subscribed, or the amount of time the teacher and/or the students has spent on the interactive and remote learning. It is understood that non-member users of theinformation sharing system 100 may also be able to participate in the learning for free through theinformation sharing system 100 either as the teacher and the student. In that case, the teacher may make a profit by adding advertisements on the teaching materials that he/she uploads to theinformation database 104, and the entity that runs theinformation sharing system 100 may also add additional advertisement on the teaching materials to make a profit instead of charging the students directly. In addition, the students may provide feedbacks and ratings to the teachers and their teaching materials, and the feedbacks may be tracked in the member account as a factor to determine the service fees to be allocated to each teacher. -
FIG. 3(b) shows music sharing, learning, and publication through theinformation sharing system 100. In this example, music sheets may be converted and stored as base objects in the forms of, for example, PDF, FLASH, or image files, which can be synchronized with supporting objects, such as instruments music or songs in the forms of audio or video files, add-on notes, highlighting, etc. Such a platform powers musicians and students to cooperate and learn based on the same standard base objects (the converted sheet music as the base objects). For example, the music recordings (as supporting objects) made by musicians may be synchronized with the music sheets (as base objects) and available to other users of theinformation sharing system 100. For example, musicians can compose and publish their sheet music as standard objects, or record their piano or other instrument playing, and upload the playing as the supporting objects to theinformation database 104 so that other users can share the recorded playing for various purposes such as entertainment, music learning, or publishing their own recording with the professional music accompaniments. Theinformation database 104 may contain standard music sheets for the musicians to record and upload their music accompaniments as supporting objects to the standard music sheets. Moreover, since the base and supporting objects may be stored locally instead of being transmitted as video streaming, the music sharing and learning in this example can be achieved with minimum latency. - In this example, the music accompaniment made by famous musicians could be featured and available for other users to sing along or to play their music instruments along with, at a certain price. This allows musicians to publish their recording through the
information sharing system 100 to easily promote and sell their music pieces. It is understood that users of the music sharing, learning, and publication application may be either members or non-members, and the monetization schemes may vary accordingly as noted above. For example, for members, service charges may be incremented for each music accompaniment download and tracked in the members' accounts in theuser database 106. In one example, theinformation sharing system 100 may be used to facilitate such transactions by splitting the collected service fees between the musicians and entity that runs theinformation sharing system 100. - In one example, different users (e.g., musicians) can post their performance on a piece of music, and another user can select and choose to compose different pieces together to make e.g., a symphony. In another example, a composer can post his/her music and solicit other users to play different instruments and then put them together. The put-together music may be distributed or downloaded to make a profit. In this example,
information sharing system 100 may keep track of which piece is actually incorporated into the final performance and the number of downloads. In one example, the entity that runs theinformation sharing system 100 may make a profit by taking a percentage of the income, and at the same time, theinformation sharing system 100 may keep track of the contributors to make sure that they will also get paid because their piece has been incorporated into the final product. In a similar vein, theinformation sharing system 100 may generate a sharing object that comprises all the information generated from the original base object, which, for example, includes all the modifications of the original content of the user file and all the add-on comments, notes, explanations, reviews, etc., in the forms of supporting objects and synchronizing actions. Such sharing object may have its special value as a new piece of information and may be distributed and downloaded by any user. In one example, the base object itself may contain a solicitation to a particular group of users (e.g., collaborators in the same entity) or to all users of theinformation sharing system 100 for contributing to the sharing object. It is also understood that the applications inFIGS. 3(a) and 3(b) may be combined such that interactive and remote music learning may be achieved through theinformation sharing system 100. -
FIG. 3(c) shows research notes and papers discussion through theinformation sharing system 100. Research lab often requires their research members to share notes and publications. Research notes are often written in a document and word processing file format, such as MICROSOFT WORD, and need to be shared with other researchers. In this example, theinformation sharing system 100 provides an intuitive and effective way to achieve the research notes and papers sharing among researchers. For example, the research note and papers may be generated as base objects and shared with other members in the research lab. The researchers may comment on the base objects by adding supporting objects in various forms as noted above. Similarly,FIG. 3(d) shows team collaboration through theinformation sharing system 100. In this example, any team member can save documents, ideas or any information to theinformation database 104 through theinformation sharing system 100 in order to share the information with collaborators. In one example, the base and supporting objects may used as the work requirements or work specification such that the team leader or manager can assign the base and supporting objects to team members as work assignments to manage teamwork.FIG. 3(e) shows interactive meeting through theinformation sharing system 100. In this example, theinformation sharing system 100 may enable users to conduct an online meeting with minimum latency. For example, during the meeting, the presenter may switch pages of a document, highlight certain areas, play animations, and playback pre-recorded audio files that are synchronized with the page switching or the animation. Because such meeting may only transfer the dynamic synchronizing actions without sending massive amount of video stream data, it provides a better user experience. The interactive meeting will be described in detail later.FIG. 3(f) shows real-time polling and voting through theinformation sharing system 100. In this example, because information can be shared as base objects, and multiple users can input their notes, comments, and ratings (as supporting objects) for approval or disapproval, theinformation sharing system 100 may be applied for real-time polling and voting when multiple inputs are required in real-time for making team consent and agreement.FIG. 3(g) shows information sharing for social networking through theinformation sharing system 100. In this example, any information such as documents can be easily converted to movie-like presentations as base objects by theinformation sharing system 100. Thus, even users with little computer knowledge may produce professional-quality presentations. Theinformation sharing system 100 may be integrated with any other social-networking tools for more impressive and effective information sharing. -
FIG. 4 depicts an exemplary diagram of theinformation sharing controller 102, according to an embodiment of the present teaching. In this example, theinformation sharing controller 102 includes abase object generator 402, a supportingobject generator 404, and a synchronizingengine 406, each operatively coupled to theinformation database 104. Thebase object generator 402 may be configured to convert a user file to a base object of a certain type such that the information in the user file is accessible to any user via a web browser or an application. Thebase object generator 402 may reside on a server in the “cloud” or on the localinformation sharing clients 202. The base object generated by thebase object generator 402 may be stored in theinformation database 104 directly if thebase object generator 402 is in the “cloud” or may be stored in the local database and uploaded to theinformation database 104 later if thebase object generator 402 is on the localinformation sharing clients 202. - The
information sharing controller 102 may also include a supportingobject generator 404 configured to generate the supporting objects to be associated with the base objects in response to user inputs and requests. As noted above, the supporting objects may include time-based supporting objects that are synchronized with the base object in a time scale and non-time-based supporting objects that are coordinated with the base object in a space scale. The supporting objects then may be stored in theinformation database 104 as separate files from the associated base objects. Similar to thebase object generator 402, the supportingobject generator 404 may reside on a server in the “cloud” or on the localinformation sharing client 202. - The
information sharing controller 102 may further include a synchronizingengine 406 configured to generate synchronizing actions for manipulating and associating the base objects and corresponding supporting objects. For example, the base objects and supporting objects may already exist in the local database of the localinformation sharing client 202 where the base and supporting objects are generated or may be pre-downloaded to the local database. Thus, only the dynamically changed synchronizing actions need to be transferred from theinformation database 104 to each user's localinformation sharing client 202 to coordinate the presentation of the base and supporting objects on the localinformation sharing client 202. -
FIG. 5 is a depiction of an exemplary non-time-based supportingobject 502 and time-based supportingobject 504, according to an embodiment of the present teaching. For non-time-based supportingobject 502, those visual objects are coordinated with the base objects 506 by specifying the relative scale coordinates on the base objects 506. Thebase object 506 may be represented as a visual object with three dimensions, including page numbers representing the z coordinate and the horizontal and vertical coordinates (x, y) representing a position where the non-time-based supportingobject 502 to be placed initially, along with the width and height of the non-time-based supportingobject 502, as shown inFIG. 5 . In one example, standard resolutions/coordinates may be applied for coordinating the non-time-based supportingobject 502 on thebase object 506. For example, theinformation sharing system 100 may use a relative scale mechanism of height and width of thebase object 506, allowing the non-time-based supportingobject 502 to be displayed independent of screen size or resolution. - For time-based supporting
object 504, these objects and thebase object 506 may be synchronized in a time scale. As shown inFIG. 5 , each time-based supportingobject 504 or each part of a time-based supportingobject 504 may be activated at a correct time as triggered by one or more synchronizing actions. The synchronizingengine 406 may use time as the coordinating scale so that any audio, video, mouse movements, animations, visual-effects, applications, or any other time-based supportingobject 504, are recorded with the absolute value of time. For example, as a user plays back the recorded audio or an animation, synchronizing actions may be used to synchronize the audio or animation with the base object. The synchronizing actions may include information regarding, for example, on which page or at what time to active the time-based supportingobject 504. Synchronizing multiple time-based supportingobjects 504 may also be supported. For example, recorded animations may be saved and played back while playing back the audio. In addition, time-based supportingobjects 504 may be synchronized with a videotype base object 506. This can be achieved in a way similar to how the time-based supportingobjects 504 are handled with respect to the document type base objects 506. -
FIG. 6 is a depiction of an exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching. In this example, different users may add different supporting objects, which may be synchronized by time base coordinates and/or the three-dimensional space coordinates, as noted above. In this example, a version control mechanism may be applied to control the modification of the base object and the association of additional supporting objects to the different versions of the base object. For example, once a user modifies the content of the user file, the base object may be converted again and labeled as a new version to distinguish it from the previous version. In one example, a new supporting object may be always associated with the latest version of the base object. In another example, the supporting objects associated with the latest version of the base object may be re-associated with the latest version of the base object if necessary. It is understood that some or all of the versions of a base object may be temporally or permanently stored in theinformation database 104 and/or local database if necessary. -
FIG. 7 is a depiction of another exemplary process of synchronizing supporting objects with a base object, according to an embodiment of the present teaching. In this example, not only the base object is version controlled, but also the supporting objects and synchronizing actions may be version controlled. In this example, a base object with its associated supporting object(s) and synchronizing actions may be defined as a sharing object. Any change on the base object, supporting objects, or synchronizing action may trigger theinformation sharing system 100 to record a new version of the sharing object. For example, adding new add-on notes and sounds to the sharing object may generate a new version of the sharing object; modifying the base document may generate a new version of the sharing object; adding a new synchronizing action to the previous version may also generate a new version of the sharing object. In this example, theinformation sharing system 100 may regenerate each version of a sharing object with the corresponding base object, supporting object(s), and synchronizing action(s). -
FIGS. 8(a) and 8(b) are flowcharts of exemplary processes in which information sharing is performed, according to different embodiments of the present teaching. InFIG. 8(a) , staring fromblock 802, a first request is received from a user to access a first piece of information in theinformation database 104. As a response to the first request, atblock 804. a first representation of the first piece of information is retrieved. Atblock 806, the first piece of information is made accessible to the user. For example, theinformation sharing system 100 may convert the first piece of information to a base object of a certain type and present the base object to the user as a response to the first request. - Moving to block 808, a second request to generate a second piece of information based on the first piece of information is received. At
block 810, the second piece of information is generated based on an input received from the user. Atblock 812, a second representation of the second piece of information is created. For example, theinformation sharing system 100 may receive a second request from the user to generate a second piece of information, such as a supporting object and/or a synchronizing action, based on the base object. Theinformation sharing system 100 may generate the second piece of information based on the user's inputs and create a representation of the second piece of information so that other users may retrieve the second piece of information. In one example, the second representation may be an indication of the second piece of information available for retrieval, such as a list of supporting objects that are associated with the first piece of information for selection. - Moving to block 814, the first and second pieces of information are stored, for example, in the
information database 104 or local databases. Atblock 816, the second piece information is associated with the first piece of information. Atblock 818, when the first piece of information is accessed, the second representation of the second piece of information is retrieved. For example, the second representation and the first representation may be marked as associated with each other so that whenever the first piece of information is accessed in the future, the second piece of information is made available. - In
FIG. 8(b) , starting fromblock 820, a first request is received from a first user to access a first piece of information. In response to the first request, atblock 822, a first representation of the first piece of information is retrieved. Atblock 824, a second representation of a second piece of information created by a second user and associated with the first piece of information is retrieved. For example, theinformation sharing system 100 may receive a first request from a first user to access a first piece of information. In response to the first request, the base object and its associated supporting objects and synchronizing actions created by a second user may be retrieved and presented to the first user as the first and second pieces of information, respectively. In one example, the representation of the second piece of information may include a solicitation for a response to the second piece of information. For example, the first piece information may be a music sheet, and the second piece of information may be a playing of the music sheet made by the second user with a solicitation to the first user for comments on the playing. - Moving to block 826, a second request is received from the first user to create a third piece of information associated with the second piece of information. At
block 828, the third piece of information is created based on an input from the first user. Moving to block 830, a third representation is created for the third piece of information. The third representation includes an indication of association to the second piece of information. Atblock 832, a relationship between the first and the second users is established. For example, theinformation sharing system 100 may further receive a second request from the first user to create a third piece of information, such as additional supporting objects and/or synchronizing actions. Theinformation sharing system 100 then may create the third piece of information and establish a relationship between the first and second users. Atblock 834, once the relationship is established, a record may be created as an evidence of the relationship by theinformation sharing system 100. In one example, the third piece of information (e.g., comments made by the first user on the second user's playing) may be transmitted back to the second user as a response to the solicitation for comments. -
FIG. 9 is an exemplary diagram of a system for online meeting, according to an embodiment of the present teaching. In this example, the system may include ameeting server 900 residing in the “cloud” andlocal meeting clients meeting server 900 may include theinformation database 104 that stores the base and supporting objects and the synchronizingengine 406 operative to simultaneously dispatch dynamic synchronizing actions (actionable items) received from themeeting presenter 902 to eachmeeting participant 904. In this example, the base and supporting objects, such as the presentation slides and comments, may be pre-downloaded to the local database of eachmeeting participant 904. During the meeting, thepresenter 902 may dynamically generate new synchronizing actions by the synchronizingaction generator 906, such as moving the mouse cursor on the presentation slides, highlighting an area, or switching pages. These dynamic synchronizing actions may be synchronized with the base object and supporting objects and outputted to thepresenter 902. At the same time, the dynamic synchronizing actions may be simultaneously transmitted to theaction synchronizing module 908 of each participant in real-time. Similarly, these dynamic synchronizing actions may be synchronized with the base object and supporting objects and presented to eachparticipant 904. - For example, in
FIG. 10 , an object x may be presentation slides that have been pre-downloaded to the local database of each participant before the meeting starts. At time t11, the presenter may generate a first dynamic synchronizing action (actionable item) of switching the presentation slides topage 22. The first dynamic synchronizing action may be dispatched to each meeting participant at substantially the same time of t11, such that the presentation slides on each participant's machine may be also switched topage 22. At time t12, the presenter may create a second dynamic synchronizing action of adding an animation note onpage 22. In one example, the animation note may exist in the local database ofparticipant 1, and thus, only the dynamic synchronizing action itself needs to be transferred toparticipant 1 to instruct which and where the animation note needs to be added. However, ifparticipant 2 does not have the animation note in its local database, it may retrieve the animation note fromparticipant 1 or from the information database. Also, the second dynamic synchronizing action may not be directed dispatched from the meeting server toparticipant 2 but instead, may be transmitted fromparticipant 1. As shown inFIG. 10 , other dynamic synchronizing actions, such as moving mouse cursor and highlighting, may also be dispatched to the participants in a similar manner as noted above. -
FIGS. 11(a) and 11(b) are flowcharts of exemplary processes in which online meeting is performed, according to different embodiments of the present teaching. InFIG. 11(a) , starting atblock 1102, a first request to access a first piece of information is received. The first request is associated with a plurality of users, e.g., meetingparticipants 904. The first piece of information may be base objects and supporting objects, such as presentation slides, comments, or other shared documents for the meeting. Atblock 1104, the first piece of information is retrieved as a response to the first request. The retrieved first piece of information is delivered to the plurality of users to become accessible atblock 1106. For example, themeeting server 900 may retrieve the presentation slides from theinformation database 102 so that eachmeeting participant 904 can pre-download the presentation slides before the meeting starts. - At
block 1108, a second request is received from an acting user, e.g., themeeting presenter 902, to generate a second piece of information based on the first piece of information. Atblock 1110, the second piece of information, e.g., synchronizing actions, is generated based on an input received from the acting user. For example, during the meeting, thepresenter 902 may dynamically generate new synchronizing actions by the synchronizingaction generator 906, such as moving the mouse cursor on the presentation slides, highlighting an area, or switching pages. Proceeding to block 1112, information indicating an association between the second piece of information and the first piece of information is created. For example, dynamic synchronizing actions may be synchronized with the base object and supporting objects and output to thepresenter 902. Atblock 1114, the second piece of information with embedded information indicating the association is delivered to the plurality of users. For example, the dynamic synchronizing actions may be simultaneously transmitted to theaction synchronizing module 908 of eachparticipant 904 in real-time. - In
FIG. 11(b) , before the meeting starts, themeeting server 900 delivers a base object, e.g., presentation slides, to themeeting presenter 902 and eachmeeting participant 904 atblocks meeting server 900, atblock 1120, receives an input from themeeting presenter 902 to generate an actionable item for the base object, such as moving the mouse cursor on the presentation slides, highlighting an area, or switching pages. Atblock 1122, themeeting server 900 delivers the actionable item to all themeeting participants 904 simultaneously, and eachmeeting participant 904 receives the actionable item in real-time during the meeting atblock 1124. The action item is then associated with the base object for themeeting presenter 902 and meetingparticipants 904 atblocks meeting presenter 902 and meetingparticipants 904 atblocks - This online meeting not only allows users to view the same shared document, but also transfers the synchronizing actions performed by the presenter to all participants instantly. Since the size of the synchronizing action data is relative small, the latency is minimized. As a result, the participants can view the synchronized actions as the meeting presenter performs them in real-time. It thus provides a real-time and in-person feeling for the meetings to the end users. Not having any latency and providing an in-person feeling promote a more effective communication tool to its users. In addition, meetings can be recorded and played back by other users so that those people who are not able to attend the meeting in live may view the exactly same meeting at a later time. Furthermore, since the recorded meetings are the synchronized actions saved in sequential order based on the time scale, such recorded meetings have very small file sizes and provide more advantages over traditional methods where online meetings are recorded as video files with large size.
- To implement the present teaching, computer hardware platforms may be used as the hardware platform(s) for one or more of the elements described herein. The hardware elements, operating systems, and programming languages of such computers are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith to adapt those technologies to implement the processing essentially as described herein. A computer with user interface elements may be used to implement a personal computer (PC) or other type of work station or terminal device, although a computer may also act as a server if appropriately programmed. It is believed that those skilled in the art are familiar with the structure, programming, and general operation of such computer equipment and as a result the drawings should be self-explanatory.
-
FIG. 12 depicts a general computer architecture on which the present teaching can be implemented and has a functional block diagram illustration of a computer hardware platform that includes user interface elements. The computer may be a general-purpose computer or a special purpose computer. Thiscomputer 1200 can be used to implement any components of the information sharing architecture as described herein. Different components of the system can all be implemented on one or more computers such ascomputer 1200, via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computer functions relating to information sharing may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load. - The
computer 1200, for example, includesCOM ports 1202 connected to and from a network connected thereto to facilitate data communications. Thecomputer 1200 also includes a central processing unit (CPU) 1204, in the form of one or more processors, for executing program instructions. The exemplary computer platform includes aninternal communication bus 1206, program storage and data storage of different forms, e.g.,disk 1208, read only memory (ROM) 1210, or random access memory (RAM) 1212, for various data files to be processed and/or communicated by the computer, as well as possibly program instructions to be executed by the CPU. Thecomputer 1200 also includes an I/O component 1214, supporting input/output flows between the computer and other components therein such asuser interface elements 1216. Thecomputer 1200 may also receive programming and data via network communications. - Hence, aspects of the method of information sharing, as outlined above, may be embodied in programming. Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine readable medium. Tangible non-transitory “storage” type media include any or all of the memory or other storage for the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide storage at any time for the software programming.
- All or portions of the software may at times be communicated through a network such as the Internet or various other telecommunication networks. Such communications, for example, may enable loading of the software from one computer or processor into another. Thus, another type of media that may bear the software elements includes optical, electrical, and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software. As used herein, unless restricted to tangible “storage” media, terms such as computer or machine “readable medium” refer to an medium that participates in providing instructions to a processor for execution.
- Hence, a machine readable medium may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium or physical transmission medium. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computer(s) or the like, which may be used to implement the system or any of its components as shown in the drawings. Volatile storage media include dynamic memory, such as a main memory of such a computer platform. Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that form a bus within a computer system. Carrier-wave transmission media can take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer can read programming code and/or data. Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a processor for execution.
- Those skilled in the art will recognize that the present teachings are amenable to a variety of modifications and/or enhancements. For example, although the implementation of various components described above may be embodied in a hardware device, it can also be implemented as a software only solution—e.g., an installation on an existing server. In addition, the units of the host and the client nodes as disclosed herein can be implemented as a firmware, firmware/software combination, firmware/hardware combination, or a hardware/firmware/software combination.
- While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/436,775 US20200067995A1 (en) | 2011-12-16 | 2019-06-10 | Method and system for information sharing |
US17/587,030 US20220224737A1 (en) | 2011-12-16 | 2022-01-28 | Method and system for information sharing |
US17/827,698 US20220294836A1 (en) | 2011-12-16 | 2022-05-28 | Systems for information sharing and methods of use, discussion and collaboration system and methods of use |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161576389P | 2011-12-16 | 2011-12-16 | |
US13/691,901 US10389766B2 (en) | 2011-12-16 | 2012-12-03 | Method and system for information sharing |
US16/436,775 US20200067995A1 (en) | 2011-12-16 | 2019-06-10 | Method and system for information sharing |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/691,901 Continuation US10389766B2 (en) | 2011-12-16 | 2012-12-03 | Method and system for information sharing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/587,030 Continuation US20220224737A1 (en) | 2011-12-16 | 2022-01-28 | Method and system for information sharing |
Publications (1)
Publication Number | Publication Date |
---|---|
US20200067995A1 true US20200067995A1 (en) | 2020-02-27 |
Family
ID=48611317
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/691,901 Active 2033-01-07 US10389766B2 (en) | 2011-12-16 | 2012-12-03 | Method and system for information sharing |
US16/436,775 Abandoned US20200067995A1 (en) | 2011-12-16 | 2019-06-10 | Method and system for information sharing |
US17/587,030 Abandoned US20220224737A1 (en) | 2011-12-16 | 2022-01-28 | Method and system for information sharing |
US17/827,698 Abandoned US20220294836A1 (en) | 2011-12-16 | 2022-05-28 | Systems for information sharing and methods of use, discussion and collaboration system and methods of use |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/691,901 Active 2033-01-07 US10389766B2 (en) | 2011-12-16 | 2012-12-03 | Method and system for information sharing |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/587,030 Abandoned US20220224737A1 (en) | 2011-12-16 | 2022-01-28 | Method and system for information sharing |
US17/827,698 Abandoned US20220294836A1 (en) | 2011-12-16 | 2022-05-28 | Systems for information sharing and methods of use, discussion and collaboration system and methods of use |
Country Status (4)
Country | Link |
---|---|
US (4) | US10389766B2 (en) |
EP (1) | EP2791814A1 (en) |
CN (1) | CN104145259B (en) |
WO (1) | WO2013090084A1 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9557878B2 (en) * | 2012-04-25 | 2017-01-31 | International Business Machines Corporation | Permitting participant configurable view selection within a screen sharing session |
US9973554B2 (en) * | 2012-06-29 | 2018-05-15 | Adobe Systems Incorporated | Interactive broadcasting between devices |
US10067730B2 (en) * | 2012-07-10 | 2018-09-04 | Recursive Labs, Inc. | Systems and methods for enabling replay of internet co-browsing |
US9256691B2 (en) * | 2012-07-10 | 2016-02-09 | Recursive Labs, Inc. | Systems and methods for enabling Internet co-browsing experience for multiple users |
US9069740B2 (en) * | 2012-07-20 | 2015-06-30 | Community-Based Innovation Systems Gmbh | Computer implemented method for transformation between discussion documents and online discussion forums |
CN105450944A (en) * | 2015-11-13 | 2016-03-30 | 北京自由坊科技有限责任公司 | Method and device for synchronously recording and reproducing slides and live presentation speech |
US9667676B1 (en) * | 2016-01-29 | 2017-05-30 | Dropbox, Inc. | Real time collaboration and document editing by multiple participants in a content management system |
CN105872020A (en) * | 2016-03-23 | 2016-08-17 | 北京小米移动软件有限公司 | Access method of virtual desktop and mobile terminal |
JP6195687B1 (en) * | 2017-02-28 | 2017-09-13 | 株式会社ドワンゴ | Application program, terminal device control method, terminal device, and server |
CN110851508A (en) * | 2019-08-05 | 2020-02-28 | 青岛海信网络科技股份有限公司 | City big data processing method and device |
TWI758896B (en) * | 2020-10-06 | 2022-03-21 | 安彼企業股份有限公司 | Online and offline information integration system |
US11488634B1 (en) * | 2021-06-03 | 2022-11-01 | International Business Machines Corporation | Generating video summaries based on notes patterns |
US11784840B2 (en) | 2021-12-20 | 2023-10-10 | Zoom Video Communications, Inc. | Receiving data for presentation during a conference |
US11848975B2 (en) * | 2021-12-20 | 2023-12-19 | Zoom Video Communications, Inc. | United states sharing data for presentation during a conference |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09289631A (en) * | 1996-02-20 | 1997-11-04 | Canon Inc | Image pickup control method and device, image pickup system and storage medium storing program to execute the method |
CN1119763C (en) * | 1998-03-13 | 2003-08-27 | 西门子共同研究公司 | Apparatus and method for collaborative dynamic video annotation |
US6584479B2 (en) * | 1998-06-17 | 2003-06-24 | Xerox Corporation | Overlay presentation of textual and graphical annotations |
US6119147A (en) * | 1998-07-28 | 2000-09-12 | Fuji Xerox Co., Ltd. | Method and system for computer-mediated, multi-modal, asynchronous meetings in a virtual space |
US7330875B1 (en) * | 1999-06-15 | 2008-02-12 | Microsoft Corporation | System and method for recording a presentation for on-demand viewing over a computer network |
GB0004501D0 (en) * | 2000-02-26 | 2000-04-19 | Orad Hi Tec Systems Ltd | Methods and apparatus for enhancement of live events broadcast by superimposing animation, based on real events |
US7555557B2 (en) * | 2000-04-07 | 2009-06-30 | Avid Technology, Inc. | Review and approval system |
US6599130B2 (en) * | 2001-02-02 | 2003-07-29 | Illinois Institute Of Technology | Iterative video teaching aid with recordable commentary and indexing |
US8312131B2 (en) | 2002-12-31 | 2012-11-13 | Motorola Mobility Llc | Method and apparatus for linking multimedia content rendered via multiple devices |
JP4451079B2 (en) * | 2003-05-30 | 2010-04-14 | 株式会社日立製作所 | Information management server and information distribution system |
US8613620B2 (en) * | 2005-07-26 | 2013-12-24 | Interactive Sports Direct Incorporated | Method and system for providing web based interactive lessons with improved session playback |
US7913157B1 (en) * | 2006-04-18 | 2011-03-22 | Overcast Media Incorporated | Method and system for the authoring and playback of independent, synchronized media through the use of a relative virtual time code |
US7792792B2 (en) * | 2006-05-22 | 2010-09-07 | Microsoft Corporation | Synchronizing structured web site contents |
US20080005656A1 (en) * | 2006-06-28 | 2008-01-03 | Shu Fan Stephen Pang | Apparatus, method, and file format for text with synchronized audio |
CN101657816B (en) * | 2007-02-14 | 2012-08-22 | 缪斯亚米有限公司 | Web portal for distributed audio file editing |
CN102867526A (en) | 2007-02-14 | 2013-01-09 | 缪斯亚米有限公司 | Collaborative music creation |
US8626844B2 (en) * | 2007-03-26 | 2014-01-07 | The Trustees Of Columbia University In The City Of New York | Methods and media for exchanging data between nodes of disconnected networks |
US7933952B2 (en) * | 2007-06-29 | 2011-04-26 | Microsoft Corporation | Collaborative document authoring |
US8806320B1 (en) * | 2008-07-28 | 2014-08-12 | Cut2It, Inc. | System and method for dynamic and automatic synchronization and manipulation of real-time and on-line streaming media |
US20090083637A1 (en) * | 2007-09-07 | 2009-03-26 | Jens Skakkebaek | Method and System for Online Collaboration |
JP4462334B2 (en) | 2007-11-16 | 2010-05-12 | ソニー株式会社 | Information processing apparatus, information processing method, program, and information sharing system |
US8407286B2 (en) * | 2008-05-15 | 2013-03-26 | Yahoo! Inc. | Method and apparatus for utilizing social network information for showing reviews |
US8832319B2 (en) * | 2008-11-18 | 2014-09-09 | Amazon Technologies, Inc. | Synchronization of digital content |
US8612380B2 (en) * | 2009-05-26 | 2013-12-17 | Adobe Systems Incorporated | Web-based collaboration for editing electronic documents |
JP2012531637A (en) * | 2009-06-30 | 2012-12-10 | テックブリッジ,インコーポレイテッド | Multimedia collaboration system |
US8289366B2 (en) * | 2009-08-18 | 2012-10-16 | Avaya Inc. | Conference annotation system |
US8438504B2 (en) * | 2010-01-06 | 2013-05-07 | Apple Inc. | Device, method, and graphical user interface for navigating through multiple viewing areas |
US8782145B2 (en) * | 2010-01-28 | 2014-07-15 | Microsoft Corporation | Following content item updates via chat groups |
US20110270778A1 (en) | 2010-04-30 | 2011-11-03 | Arghya Mondal | Sharing investment information via a social networking website |
CA3085121A1 (en) * | 2010-06-15 | 2012-12-22 | Scholarbox, Inc. | Method, system and user interface for creating and displaying of presentations |
US20120030288A1 (en) * | 2010-07-27 | 2012-02-02 | International Business Machines Corporation | Synchronizing user content in a collaborative session |
US9183307B2 (en) * | 2010-12-15 | 2015-11-10 | Facebook, Inc. | Comment ordering system |
US8516379B2 (en) * | 2010-12-31 | 2013-08-20 | Quora, Inc. | Methods and systems for soliciting an answer to a question |
US8552281B1 (en) * | 2011-01-12 | 2013-10-08 | Carlo M. Cotrone | Digital sheet music distribution system and method |
US9703781B2 (en) * | 2011-03-23 | 2017-07-11 | Audible, Inc. | Managing related digital content |
US8434002B1 (en) * | 2011-10-17 | 2013-04-30 | Google Inc. | Systems and methods for collaborative editing of elements in a presentation document |
CN107342932B (en) * | 2017-05-23 | 2020-12-04 | 华为技术有限公司 | Information interaction method and terminal |
US11210057B2 (en) * | 2020-01-10 | 2021-12-28 | James Matthew Gielarowski | Multi-User Media Player GUI |
-
2012
- 2012-12-03 US US13/691,901 patent/US10389766B2/en active Active
- 2012-12-05 WO PCT/US2012/067853 patent/WO2013090084A1/en active Application Filing
- 2012-12-05 CN CN201280062121.8A patent/CN104145259B/en active Active
- 2012-12-05 EP EP12857401.9A patent/EP2791814A1/en not_active Withdrawn
-
2019
- 2019-06-10 US US16/436,775 patent/US20200067995A1/en not_active Abandoned
-
2022
- 2022-01-28 US US17/587,030 patent/US20220224737A1/en not_active Abandoned
- 2022-05-28 US US17/827,698 patent/US20220294836A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20220294836A1 (en) | 2022-09-15 |
US20220224737A1 (en) | 2022-07-14 |
WO2013090084A1 (en) | 2013-06-20 |
CN104145259B (en) | 2017-08-22 |
EP2791814A1 (en) | 2014-10-22 |
US20130159414A1 (en) | 2013-06-20 |
CN104145259A (en) | 2014-11-12 |
US10389766B2 (en) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220224737A1 (en) | Method and system for information sharing | |
JP7037601B2 (en) | Systems and methods for tracking events and providing virtual conference feedback | |
US8463803B2 (en) | Web-based marketing management system | |
US20150066780A1 (en) | Developing Music and Media | |
US9996210B2 (en) | Enabling host active element content related actions on a client device within remote presentations | |
US20220210514A1 (en) | System and process for collaborative digital content generation, publication, distribution, and discovery | |
Birtchnell et al. | Automating the black art: Creative places for artificial intelligence in audio mastering | |
US10719545B2 (en) | Methods and systems for facilitating storytelling using visual media | |
US10257301B1 (en) | Systems and methods providing a drive interface for content delivery | |
Copeland et al. | A guide to academic podcasting | |
US11558440B1 (en) | Simulate live video presentation in a recorded video | |
Bodini et al. | Envisioning the future of virtual production in filmmaking: A remote co-design study | |
Thorley | The rise of the remote mix engineer: Technology, expertise, star | |
US11968432B2 (en) | Information processing system, information processing method, and storage medium | |
US10559012B1 (en) | Income distribution based on user consumption of content | |
US10275506B1 (en) | Coordinating data across services | |
JP7282111B2 (en) | METHOD, SYSTEM, AND COMPUTER-READABLE RECORDING MEDIUM FOR RECORDING INTERACTION IN INTERCONNECT WITH IMAGE COMMUNICATION SERVICE | |
Chabot | Augmenting Collaborative Immersive Systems Through Cognitive Technologies for Educational Scenarios | |
Connor | The audiovisual object | |
Hossain | The Role of Information Technology (IT) Innovations in the Development of Small and Medium Enterprises: The Case of BD Views Media Limited | |
Dionysus | Documentary Producing and Interactive Platforms: Opportunities, Evolving Processes and the Changing Craft | |
Buehner et al. | A Music Librarian’s Guide to Creating Videos and Podcasts | |
JP2023048141A (en) | Method, device, and computer program for providing audio engagement service for collecting pronunciations by accent | |
Isa et al. | THE LEADERSHIP ROLE OF CREATIVE GUILDS IN PROTECTING INTELLECTUAL PROPERTY TO SUSTAIN THE MALAYSIAN CREATIVE INDUSTRY | |
Kohle | Whose documentary is it anyway? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |