Distributed clipboard
Abstract
A technique is provided that provides a shared clipboard to conversation participants. The shared clipboard is unique to the conversation with which it is associated, in that it does not "leak" from one conversation to another. Once the conversation is established between two or more participants, the conversation participants will be able to use the shared clipboard. The shared clipboard facilitates the sharing of data between conversation participants. During the conversation, each participant in the conversation is provided with access to the shared clipboard, including its content. When a participant joins or is added to the conversation, the added participant is also provided with access to the shared clipboard and its content.

Term
Projected expiry 3 October 2026.
- Priority
- Filed
- Published
- Today
- Projected expiry
20 claims: 5 independent, 15 dependent
- 1コラボレーションシステムにおいてデータを共有するための方法であって、 それぞれクライアントシステムにいる複数の参加者間の会話の確立を検出するステップと、 前記会話の前記確立を検出した後、 ゼロ、1つまたは複数のデータの項目を含むように動作可能である、前記会話用の共有クリップボードを作成するステップと、 前記会話の前記複数の参加者のそれぞれに、前記共有クリップボードのコンテンツへのアクセスを提供するステップと を含むことを特徴とする方法。
- 2前記会話の前記複数の参加者のそれぞれに、前記参加者のクライアントシステム上の前記共有クリップボードの前記コンテンツの視覚レンダリングを提供するステップをさらに含むことを特徴とする請求項1に記載の方法。
- 3前記会話の前記複数の参加者のそれぞれは、前記参加者のクライアントシステム上の前記共有クリップボードの前記視覚レンダリングと対話することによって前記共有クリップボードと対話することを特徴とする請求項2に記載の方法。
- 4前記会話の前記複数の参加者のそれぞれは、前記参加者のクライアントシステム上の前記共有クリップボードの前記視覚レンダリングにデータの項目を配置することによって前記共有クリップボード上に前記データの項目を配置することができることを特徴とする請求項2に記載の方法。
- 5前記会話の前記複数の参加者のそれぞれは、前記参加者のクライアントシステム上の前記共有クリップボードの前記視覚レンダリングからデータの項目を取り出すことによって前記共有クリップボード上の前記データの項目のコピーを取り出すことができることを特徴とする請求項2に記載の方法。
- 6前記共有クリップボード上のデータの項目は、前記会話の前記複数の参加者のそれぞれが前記データの項目に対する権利を有することを確実にするためにアクセス権についてチェックされることを特徴とする請求項1に記載の方法。
- 7前記共有クリップボード上に配置されたデータの項目に、前記会話に関連付けられている前記メタデータが関連付けられていることを特徴とする請求項1に記載の方法。
- 8前記共有クリップボード上に配置されたデータの項目に、前記データの項目の元の前記クライアントシステム上のデータ項目と関連付けられている前記メタデータが関連付けられていることを特徴とする請求項1に記載の方法。
- 9前記共有クリップボード上のデータの項目は、前記共有クリップボード上に配置される前に、セキュリティ脅威の存在についてチェックされることを特徴とする請求項1に記載の方法。
- 10前記会話の前記複数の参加者の任意の1人において、 前記会話の終了を検出するステップと、 前記会話の終了を検出した後、所定の時間の間、前記クライアントシステム上の前記共有クリップボードを一時的にキャッシュに入れるステップであって、前記参加者に、前記所定の時間の間、前記キャッシュに入れられた共有クリップボードへのアクセスが提供されるステップと をさらに含むことを特徴とする請求項1に記載の方法。
- 11クライアントコンピューティングシステム上で実行されるコラボレーションアプリケーションが少なくとも1人の他の参加者との会話を確立したことを検出するステップと、 前記コラボレーションアプリケーションが前記会話を確立したことを検出した後、前記クライアントコンピューティングシステムにおいて、前記会話用の共有クリップボードを作成するステップであって、前記共有クリップボードは、前記会話の任意の前記参加者によって配置されたゼロ、1つまたは複数のオブジェクトを含むように動作可能であり、さらに、前記会話の任意の前記参加者は、前記共有クリップボード上の前記オブジェクトを使用できるステップと を含む方法によって共有クリップボードを提供する旨のコラボレーションアプリケーションの命令を含むことを特徴とするコンピュータ可読媒体。
- 12前記クライアントコンピューティングシステム上で実行される前記コラボレーションアプリケーションが少なくとも1人の他の参加者との第2の会話を確立したことを検出するステップと、 前記コラボレーションアプリケーションが前記第2の会話を確立したことを検出した後、前記クライアントコンピューティングシステムにおいて、前記第2の会話用の第2の共有クリップボードを作成するステップであって、前記第2の共有クリップボードは、前記第2の会話の任意の前記参加者によって配置されたゼロ、1つまたは複数のオブジェクトを含むように動作可能であり、さらに、前記第2の会話の任意の前記参加者は、前記第2の共有クリップボードの前記オブジェクトを使用できるステップと をさらに含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
- 13前記共有クリップボードは、クリップボードプレゼンス情報を提供することを特徴とする請求項11に記載のコンピュータ可読媒体。
- 14オブジェクトが前記共有クリップボードに配置されたことを検出するステップと、 前記オブジェクトが前記共有クリップボードに配置されたことを検出した後、前記会話の前記他の参加者に、前記共有クリップボード上の前記オブジェクトの配置の通知を送信するステップと をさらに含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
- 15前記通知を送信するステップは、前記受信側参加者の共有クリップボードに配置する前記オブジェクトに関連付けられている前記データを送信するステップを含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
- 16前記通知を送信するステップは、前記受信側参加者の共有クリップボードに配置する前記オブジェクトに関連付けられている前記データへのリンクを送信するステップを含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
- 17前記共有クリップボード上に含まれる各オブジェクトに、前記オブジェクトの所有者の指標が関連付けられていることを特徴とする請求項11に記載のコンピュータ可読媒体。
- 18複数の参加者間の会話用の共有クリップボードを集合的に含む1つまたは複数のコンピュータメモリであって、前記共有クリップボードは、前記会話の前記複数の参加者のそれぞれによってアクセス可能な少なくとも1つのオブジェクトを含み、 したがって前記共有クリップボードの前記コンテンツは、前記会話の前記複数の参加者のそれぞれに視覚レンダリングされる ことを特徴とするコンピュータメモリ。
- 19前記共有クリップボードは、前記会話の前記複数の参加者のそれぞれで維持されることを特徴とする請求項18に記載のコンピュータメモリ。
- 20前記共有クリップボードは、中央サーバで維持されることを特徴とする請求項18に記載のコンピュータメモリ。
Independent claims20
47 paragraphs, as filed
Collaboration applications allow participants in different locations to establish and participate in joint meetings. Participants often present and exchange information during the meeting. In general, the presenting participant of a meeting presents information on the screen using a video or slide projector or software so that other participants in the same location as the presenting participant can see it. However, participants elsewhere are generally provided with a paper copy of the presentation.
With the advent of computer networking, participants in different locations can communicate with each other during a meeting. For example, conference participants in different locations can use their own computing equipment, such as laptop computers and handheld devices, to establish network connections, or use their own computing equipment to provide information during the conference. You can use your own computer equipment to share and so on.
Participants can connect to each other, but the process of sharing information is not that easy. In general, a participant who wants to share an item of information uses a file transfer application to send the information to another participant. When a sharing participant wants to share information with multiple participants, he or she generally attaches the information to an email message addressed to the participant who is supposed to receive the information and emails the destination participant. Send a message. Although it is possible to send information to participants before the meeting, it often becomes necessary to send the information during the meeting, in which case the destination participant will receive the information sent at some point during the meeting. Or you may need to receive an email message and attached information and retrieve shared information during the same meeting. Therefore, sharing information during a meeting causes distraction of participants. Moreover, sharing information among meeting participants during a meeting is difficult and cumbersome.
<p> A technique is provided that provides a shared clipboard to conversation participants. The shared clipboard is unique to the conversation with which it is associated, in that it does not "leak" from one conversation to another. Once the conversation is established between two or more participants, the conversation participants will be able to use the shared clipboard. The shared clipboard facilitates the sharing of data between conversation participants. During the conversation, each participant in the conversation is provided with access to the shared clipboard, including its content. When a participant joins or is added to the conversation, the added participant is also provided with access to the shared clipboard and its content.</p><p> The "means for solving a problem" is provided to briefly introduce the selection of concepts, which will be further described later in "The best form for carrying out an invention". This "means for solving a problem" is not intended to identify the key or critical features of the subject matter described in the claim, but to help define the scope of the subject matter described in the claim. It is also not used as.</p>
Various techniques are provided to provide a shared clipboard to conversation participants. The shared clipboard is unique to the conversation with which it is associated, in that it does not "leak" from one conversation to another. Examples include instant messaging between two or more participants, public switched telephone network (pstn) telephones, web or online conferencing, audio / video conferencing, document sharing, and conversations in other forms of conferencing. Once established, conversation participants will be able to use the shared clipboard. During the conversation, each participant in the conversation is provided with access to the shared clipboard, including its content. When a participant joins or is added to the conversation, the added participant is also provided with access to the shared clipboard and its content. When a conversation participant exits the conversation, he or she is no longer provided with access to the shared clipboard. At the end of the conversation, participants in the conversation can no longer be provided access to the shared clipboard.
In some embodiments, when a conversation is established or created, the client collaboration application creates a shared clipboard for use by the participants in the conversation. A client collaboration application running on a client computing system and used by a participant participating in a conversation can provide that participant with a conceptual view of the shared clipboard. Conceptually, there is one shared clipboard for conversations where each participant in the conversation shares access. For example, a client collaboration application can provide visual rendering of a shared clipboard as a delimited or separate extension of an existing clipboard on a client computing system. In another example, the client collaboration application can provide the rendering of the shared clipboard, for example, as a separate clipboard associated with the client collaboration application's user interface. You can visualize the rendering of the shared clipboard on the client computing system.
Conversation participants can access the contents of the shared clipboard by interacting with the visual rendering of the shared clipboard on their client computing system. For example, conversation participants can place objects on the shared clipboard by placing objects (such as items of information) on the visual rendering of the shared clipboard on the client computing system. Participants in the conversation can then retrieve a copy of the object on the shared clipboard by performing an eject operation on the object from the visual rendering of the shared clipboard on the client computing system. In some embodiments, the shared clipboard can itself be associated with one or more other clipboards, such as the system clipboard on a client computing system. In this example, participants can use the paste (such as CTRL-C) and paste (CTRL-V) of existing system clipboard commands to access the contents of the shared clipboard. For example, one participant in a conversation uses CTRL-C to copy a range of cells from a spreadsheet shared with all participants through application sharing, while the other participants You can use CTRL-V to paste the range into various local spreadsheet files. In this scenario, it is not necessary to display the visual representation of the shared clipboard.
Thus, the collection of shared clipboards on each client computing system used by the participants in the conversation constitutes or builds a distributed shared clipboard for the conversation.
In some embodiments, the client collaboration application periodically "refreshes" the shared clipboard (whether or not the shared clipboard is visually rendered on the client computing system) to provide content on the shared clipboard. It can provide an accurate view. For example, one participant's client collaboration application in a conversation regularly informs the other participant's client collaboration application in the conversation about information about rendering a shared clipboard on the client computing system of the other participant in the conversation. You can make inquiries.
In some embodiments, the object is checked for permissions before being placed on the shared clipboard. For example, an object may contain or be associated with digital rights or other rights that restrict the object from being shared. In these examples, if one of the participants in the conversation does not have rights to the object, then the object cannot be placed on the shared clipboard.
In some embodiments, after the conversation ends in the client computing system, the content on the shared clipboard of the conversation can be temporarily cached in the client computing system. For example, content can be temporarily cached for a predetermined period of time. While the content is temporarily cached, participants can, for example, remember what was shared during which conversation, or recall objects that participants gained in a conversation but somehow lost. You can access the "archive" of the shared clipboard.
In some embodiments, the shared clipboard on the client computing system has a "clipboard presence (whether or not it is visually rendered) in that the shared clipboard shows who is doing what on the shared board. clipboard presence) information is provided. Clipboard presence provides a view of how other participants in the conversation interact with the shared clipboard. For example, a conversation participant can recognize when another participant in the conversation copies an object from the shared clipboard.
In the following description, various embodiments of the technique of providing a shared clipboard include various well-known operations such as "drag and drop", "cut", "copy", "paste", and any MICROSOFT. Described in relation to its impact on the system clipboard supported on computing systems running a variety of well-known operating systems such as the WINDOWS® operating system. Various embodiments of the technique of providing the shared clipboard are described in relation to the above-mentioned operations and their effects on the system clipboard, but the techniques of providing the shared clipboard work only with the above-mentioned operations and the system clipboard. Please understand that it is not limited to that. Those skilled in the art will appreciate that the technology of providing a shared clipboard can support operations on objects other than those described above and / or can be easily implemented in computing systems that do not support the system clipboard. For example, operations on the shared clipboard can be provided by performing drag-and-drop operations on the visual rendering of the shared clipboard on the client computing system (eg, a conversation participant selects an object and its operation. Objects can be dragged onto the shared clipboard visual rendering to place them on the shared clipboard, conversation participants select an object on the shared clipboard visual rendering and pull that object from the shared clipboard visual rendering. You can retrieve an object from the shared clipboard by dragging it to the desired application, object, etc.).
FIG. 1 is a high-level block diagram showing an environment in which a distributed clipboard can operate. As shown, the environment consists of conversation 10 consisting of client computing systems 102a-b, each coupled to shared clipboard 104a, and client computing systems 102b-e, each coupled to shared clipboard 104b. Includes conversation 12. The client computing systems 102a to e are respectively connected to the network 106. The environment shown is only an example of a suitable environment and does not imply any limitation on the use or scope of function of the described techniques. For example, the number of conversations and the number of client computing systems in each of the indicated conversations are provided for brevity only, and the number of conversations and the number of combinations of client computing systems in each of the conversations Those skilled in the art will understand that it can be different. As used herein, the terms "connected," "combined," or any variation thereof, mean any direct or indirect connection or connection between two or more elements, an element. The connection of connections between them can be physical, logical or a combination thereof.
Broadly speaking, each client computing system allows a user, such as a human user, to participate in one or more conversations. For example, a person can participate in one or more conversations using a client collaboration application program running on that client computing system. As shown in Figure 1, the two people in each of the client computing systems 102a and 102b are participating in conversation 10 and the four people in each of the client computing systems 102b-e. Participates in Conversation 20.
When the conversation begins, a shared clipboard is created and made available to the people participating in the conversation. For example, the shared clipboard 104a will be available to the person participating in conversation 10 in the client computing systems 102a and 102b. Similarly, the shared clipboard 104b will be available to the person participating in conversation 20 in the client computing systems 102b ~ e.
A shared clipboard for the conversation is rendered on each of the client computing systems of the person participating in the conversation. For example, as shown in FIG. 1, the shared clipboard 104a is visually rendered on the client computing system 102a as the shared clipboard rendering 108a and on the client computing system 102b as the shared clipboard rendering 108b. Similarly, the shared clipboard 104b is client computing as shared clipboard rendering 110b on client computing system 102b, as shared clipboard rendering 110c on client computing system 102c, and as shared clipboard rendering 110d on client computing system 102d. Visually rendered as shared clipboard render 110e on system 102e. Rendering of a shared clipboard onto a client computing system can be visualized (eg, visual rendering) or "minimized" (rendered but not visual rendering) to save on-screen space. .. In some embodiments, the shared clipboard is MICROSOFT. Draw on the client computing system as an extension of the person's (ie, the participant in the conversation) existing clipboard, such as the OFFICE clipboard, or any other suitable clipboard provided by an application running on the client computing system. be able to. In these embodiments, the person considers the visual rendering of the shared clipboard to be an extension area of their clipboard, which is conceptually a space, a view on the shared clipboard of the conversation. In the example of a person participating in multiple conversations (person in client computing system 102b in Figure 1), a shared clipboard for each conversation is drawn on that person's client computing system.
During a conversation, anything that the conversation participants cut or copy is placed on the conversation's shared clipboard. Paste during conversation Participants paste from the shared clipboard. As is commonly known and generally supported by most document editing applications and most operating systems, the cut operation temporarily buffers while deleting a selection of a document or object. Save to (such as the clipboard), copy operations leave the document or object as is, save the selected part of the document or object to a temporary buffer, and paste operations are currently in the document, file, folder, other object, etc. Insert data from the clipboard at the position of. When a participant exits a conversation or ends the conversation, there is no shared clipboard for that conversation. That is, the shared clipboard for that conversation is no longer rendered on the participant's client computing system. When a participant joins an existing conversation, the shared clipboard for the conversation is rendered on the joining participant's client computing system, thus joining as if the participant was in the conversation from the beginning. Can paste, cut, and copy to the shared clipboard. For example, a joining participant's client collaboration application can retrieve a copy of the shared clipboard from the client collaboration application for which the joining participant's client collaboration application has established a collaboration session to join the conversation.
In some embodiments, a conversation participant with a shared clipboard for conversation by performing cut, copy, paste, and drag-and-drop operations on its client computing system while participating in the conversation. make a conversation. When a conversation participant performs a cut operation, the cut operation gets the currently selected object and places it in the participant's rendering of the shared clipboard for the conversation. The shared clipboard participant rendering can then push the currently selected object to each participant's system clipboard in the conversation. Rendering of participants on the shared clipboard can also push the currently selected object to the rendering of each participant in the conversation on the shared clipboard. At the end of the conversation, the conversation participant's system clipboard, which last cut the object to the shared clipboard, may not be undone because the cut operation is destructive, but all other conversations. The participant's system clipboard can be returned to the state it was in when the conversation began.
When a conversation participant performs a copy operation, the copy operation gets the currently selected object and places it in the participant's rendering on the shared clipboard. The shared clipboard participant rendering can then push the currently selected object to each participant's system clipboard in the conversation. Rendering of participants on the shared clipboard can also push the currently selected object to the rendering of each participant in the conversation on the shared clipboard. At the end of the conversation, the conversation participant's system clipboard may be returned to the state it was in when the conversation began.
When a conversation participant performs a paste operation, the paste operation inserts a copy of the object into the current position specified by the participant on the participant's system clipboard. The "paste link" operation may not render meaningful results. The system of the other participants in the conversation is only temporarily connected by the conversation taking place, and the shared clipboard may not persist after the conversation ends, so the object itself Placing a link on an object instead may not result in a meaningful link address. However, this operation may be allowed if the system does not try to resolve the link in a meaningful way.
Once the shared clipboard is visualized (ie, visually rendered), any object can be dragged onto the shared clipboard. Conversation participants can drag and drop anything into the shared clipboard, for example from any type of database or entire file to a single spreadsheet cell. Similarly, any participant in the conversation can drag the object from the shared clipboard and drop it in any application or other suitable location.
A person can participate in multiple conversations at once. For example, the person in the client computing system 102b in Figure 1 participates in both Conversation 10 and Conversation 20. Each conversation has its own shared clipboard. The extended area of the participant's clipboard that the participant sees (and is accessible via cut, paste, etc.) corresponds to the conversation in which the participant is currently active or participating. In some embodiments, the participant's currently active conversation is a clear user action (eg, participant) where the input (text chat, voice, etc.) is heading, which of the conversation's windows is active. Depending on where you drag, or by selecting the conversation window or shared clipboard window before copying, the participant tells the system which shared clipboard to use, or the system asks the participant ("Which" Do you want to paste from the conversation? ).
In some embodiments, when the first conversation on the client computing system begins , the shared clipboard for the first conversation on the client computing system (ie, rendering the shared clipboard) saves the contents of the system clipboard. To do. When the conversation ends on the client computing system, the system clipboard is restored. When the shared clipboard disappears or is erased, any objects pushed by the shared clipboard to the system clipboard are also erased. When multiple simultaneous conversations take place on the client computing system, the shared clipboard for each conversation is that the first shared clipboard to be created saves the system clipboard and the last conversation ended on the client computing system. You may need to work together to ensure that the system clipboard is restored.
Seeing Figure 1 again, broadly speaking, a network is, for example, a communication link that facilitates the transfer of electronic content between attached client computing systems. In one embodiment, the network includes the Internet. It should be understood that the network may consist of one or more other types of networks, such as local area networks, wide area networks, point-to-point dial-up connections, and so on. In some embodiments, the network may include one or more server computing systems. Broadly speaking, a server computing system can facilitate the establishment of conversations between participants in each client computing system. For example, the calling participant's client computing system sends a request to establish a real-time session with the calling participant, such as an application sharing session, to a suitable server computing system, which in turn sends the server computing system. , Requests can be forwarded to the calling participant's client computing system. Once the requested session is established, the calling participant's client and the calling participant's client can communicate (peer-to-peer) with each other via the server computing system or directly with each other.
A client computing system may include one or more central processing units, memory, input devices (such as keyboards and pointing devices), output devices (such as display devices), and storage devices (such as disk drives). A memory and storage device is a computer-readable medium described herein that may include instructions that implement various techniques that provide a shared clipboard for participation in a conversation. Further, the data structure and the message structure can be stored or transmitted via a data transmission medium such as a signal on a communication link. Various communication links can be used, such as the Internet, local area networks, wide area networks, point-to-point dial-up connections, and mobile phone networks. Those skilled in the art will appreciate that computing systems can be of various configurations with various components.
Embodiments of the described techniques include personal computers, server computers, computing devices, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, programmable home appliances, digital cameras, network PCs, minicomputers, It can be implemented in a variety of operating environments, including mainframe computers and distributed computing environments that include any of the above systems or devices. Computing systems can be mobile phones, PDAs, smartphones, personal computers, programmable consumer electronics, digital cameras, kiosks, ATMs, and so on.
Various techniques for providing a shared clipboard to participants in a conversation can be described in the general context of computer executable instructions such as program modules executed by one or more computers, or other devices. Program modules generally include routines, programs, objects, components, data structures, etc. that perform a particular task or implement a particular abstract data type. In general, the functionality of a program module can be combined or distributed in different environments as needed.
FIG. 2 is a block diagram showing the rendering of a shared clipboard showing the clipboard presence according to some embodiments. As shown, five participants 202a ~ e are shown participating in the conversation and interacting with the shared clipboard 204 associated with the conversation. In particular, the clipboard presence shows or displays how the participants in the conversation interact with the shared clipboard. The clipboard presence allows each participant in the conversation to know what each of the other participants in the conversation is doing on the shared clipboard (such as putting or pasting from the shared clipboard). For example, as shown in FIG. 1, participants 202b and 202e are shown as not interacting with the shared clipboard, and participant 202a is shown as having object 206 on the shared clipboard. Participant 202c is shown as getting or dragging a copy of object 208 from the shared clipboard, and participant 202d is shown as getting and dragging a copy of object 210 from the shared clipboard. Those skilled in the art will appreciate that clipboard presence information can be presented in a wide variety of ways. Further, it will be appreciated by those skilled in the art that clipboard presence can be presented with or as part of clipboard rendering, but clipboard presence information can be presented regardless of clipboard rendering.
FIG. 3 is a block diagram showing metadata associated with an object according to some embodiments. As shown, object 302 is associated with object metadata 304 and conversation metadata 306. Each object placed on the shared clipboard gets or has the metadata of the object's original file and the metadata of the conversation while the object was placed on the clipboard. Object metadata may include, for example, information such as the type of the object's original file, the creator of the file, the date and time the file was created, and the date and time the object was placed on the shared clipboard. Conversation metadata may include, for example, information such as conversation participants, conversation participant locations, conversation session types, and conversation time.
FIG. 4 is a flow chart showing the creation of a shared clipboard according to some embodiments. As an example, a calling participant may request that a client collaboration application run on its client computing system and establish a conversation with, for example, a calling participant in a remote client computing system. At block 402, the client collaboration application receives a request to establish a conversation with the calling participant. At block 404, the client collaboration application requests a conversation with the calling participant. At block 406, the client collaboration application determines if the requested conversation with the calling participant is successfully established. When the client collaboration application determines that the requested conversation has been successfully established, at block 408, the client collaboration application creates a shared clipboard for the conversation. In some embodiments, the client collaboration application creates a shared clipboard as an extension of an existing clipboard on the client computing system, and the extension of the existing clipboard is a shared clipboard for conversation to the calling participant. Provides rendering of. Similarly, on a calling participant's client computing device, a client collaboration application running on that client computing device is a shared clipboard for conversation, for example as an extension of an existing clipboard on that client computing system. The existing clipboard extension provides the calling participant with a rendering of the shared clipboard for conversation. Therefore, a shared clipboard created on the calling participant's client computing system, and a conceptual view on one space where the calling participant is a single shared clipboard created for conversation. Offer To do. Conversely, in block 406, if the client collaboration application determines that the requested conversation was not successfully established, the client collaboration application does not create a shared clipboard for the conversation.
Those skilled in the art will appreciate that for this process and method disclosed herein, and for other processes and methods, the functions performed in these processes and methods may be performed in a different order. Further, the outlined steps are only examples, and some of the steps can be optional, combined with fewer steps, or extended to additional steps.
FIG. 5 is a flow chart showing the arrangement of objects on the shared clipboard according to some embodiments. At block 502, the conversational shared clipboard detects attempts by conversation participants to place objects on the shared clipboard. As an example, conversation participants can attempt to place an object in a visual rendering of a shared clipboard on its computing system, for example by performing a cut, copy, or drag-and-drop operation. At block 504, the shared clipboard performs an access control check on the object.
In some embodiments, the shared clipboard is shared to identify the participants in the conversation. Once the participants in the conversation are identified, the shared clipboard can perform access control checks on the object to ensure that all participants in the conversation have the right to access the object. For example, the object itself may hold digital rights that restricts the current owner of the object from sharing the object (ie placing the object on the shared clipboard), or the object is, for example, a role or user. It may hold the authority of the object, or the object may have that authority associated with it. The shared clipboard checks the digital rights and / or permissions associated with the object and gives all participants in the conversation access to the object before it can be placed on the shared clipboard. Make sure that.
In some embodiments, there is no authority associated with the shared clipboard, except that the shared clipboard is shared only by participants in the particular conversation to which the shared clipboard belongs. In these embodiments, the shared clipboard does not perform access control checks on the object, and any participant in the conversation places the object on the shared clipboard (cut, copy, drag, etc.) or retrieves the object from the shared clipboard. Can be (pasted, dragged, etc.).
In some embodiments, the shared clipboard selectively performs access control checks. For example, some objects may know how to selectively display the object itself to the user based on user identification. Here, the shared clipboard does not perform access control checks on these objects, but rather on objects that do not know how to selectively display the objects themselves to the user based on user identification. Can be.
At block 506, the shared clipboard checks to determine if the access control check for the object has passed. If the access control check does not pass, the shared clipboard does not place the object on the shared clipboard and reports an error in block 514. For example, the shared clipboard can display a window containing an error message informing about an object's failing access control check.
Otherwise, in block 506, the shared clipboard determines that the access control check has passed, and in block 508, the shared clipboard performs a security threat check on the object. In some embodiments, the shared clipboard is, for example, of viruses, worms, Trojans, for example by calling virus-checking software components on client computing systems to check objects for the presence of security threats. You can check for security threats, such as horses or other compromising features.
At block 510, the shared clipboard checks to determine if the object's security threat check has passed. If the security threat check does not pass, the shared clipboard does not place the object on the shared clipboard and reports an error in block 514. For example, the shared clipboard can display a window with an error message informing you of a security threat check for failing an object. Otherwise, in block 510, if the shared clipboard determines that the security threat check has passed, in block 512, the shared clipboard causes the object to be placed in the shared clipboard.
FIG. 6 is a flow diagram showing the push of an object from the shared clipboard to the client computing system according to some embodiments. At block 602, the object is placed on the shared clipboard for conversation. As an example, a conversation participant may place an object in a visual rendering of a shared clipboard on its client computing system. At block 604, the shared clipboard pushes the currently selected object to each participant's client computing system in the conversation. Here, the currently selected object can be an object placed on the shared clipboard by the participants in block 602. At block 606, the pushed object appears in the visual rendering of the shared clipboard of each participant's client computing system.
In some embodiments, when a conversation participant places an object on the shared clipboard, an image representing the object appears in the visual rendering of the shared clipboard on the conversation participant's client computing system, and a copy of the object is displayed. Written to the client computing system of other participants in the conversation (ie, push ahead).
In some embodiments, when a conversation participant places an object on the shared clipboard, an image representing the object may appear in the visual rendering of the shared clipboard on the conversation participant's client computing system (ie, delayed pull). ), But a copy of the object is not written to the client computing system. For example, visual rendering can be a link to an object placed on the shared clipboard. The conversation participant then retrieves the object from the visual rendering of the shared clip, and the collaboration application on the client computing system uses the link to place the object's storage location (for example, the participant who placed the object on the shared client). You can download or retrieve a copy of the object from your client computing system, etc.).
In these embodiments, if a participant who places an object on the shared clipboard exits the conversation, the object can be pre-pushed to the conversation participant's client computing system. In some embodiments, the object can be written to a storage location accessible by other participants in the conversation. In some embodiments, when a participant who places an object on a shared clipboard exits the conversation, the object is represented by a "gravestone" on the rendering of the shared clipboard on the conversation participant's client computing system. be able to. The tombstone indicates that the participants in the conversation can no longer use the object.
In some embodiments, when a conversation participant places an object on the shared clipboard, the object can be pre-pushed or provided based on the size of the object for subsequent delayed pull operations. For example, small-sized objects, such as objects smaller than 10 kbytes, can be pre-pushed to the conversation participant's client computing system. Conversely, if the object is large, an image representing the object will appear on the visual rendering of the shared clipboard on the conversation participants' client computing systems, but a copy of the object will be written to these client computing systems. Not issued.
FIG. 7 is a flow diagram showing a temporary cache of the shared clipboard according to some embodiments. At block 702, the client collaboration application running on the client computing system detects the end of the conversation. At block 704, the client collaboration application checks to determine if temporary arcabing of the shared clipboard for conversations that is currently terminating is allowed. If temporary archiving of the shared clipboard is allowed, at block 706, the client collaboration application temporarily archives the shared clipboard for conversation, for example, on a suitable memory device on the client computing system. For example, if all participants in a conversation allow this feature in a profile that controls their privacy, then temporary archiving of the shared clipboard may be allowed. Here, the client collaboration application can query the conversation participant's profile to determine if all participants have allowed temporary archiving of the shared clipboard. In some embodiments, the shared clipboard or other suitable process on the client computing system can check the shared clipboard for conversation and temporarily archive it.
Although the subject matter is described in terms specific to structural features and / or method behaviors, the subject matter defined in the appended claims is not necessarily limited to the particular features and behaviors described above. Please understand that it is not. Rather, the unique features and behaviors described above are disclosed as formal examples that implement the claims.
<figref num="1">It is a high-level block diagram which shows the environment in which a distributed clipboard can operate.</figref><figref num="2">It is a block diagram which shows the rendering of the shared clipboard which shows the clipboard presence by some embodiments.</figref><figref num="3">FIG. 6 is a block diagram showing metadata associated with an object according to some embodiments.</figref><figref num="4">It is a flow figure which shows the creation of the shared clipboard by some embodiments.</figref><figref num="5">It is a flow figure which shows the arrangement of the object in the shared clipboard by some embodiments.</figref><figref num="6">It is a flow diagram which shows the push of the object from the shared clipboard to the client computing system by some embodiments.</figref><figref num="7">It is a flow diagram which shows the temporary cache of the shared clipboard by some embodiments.</figref>
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2001053785A | Cites | Japan | Search report |
| JP2002288087A | Cites | Japan | Search report |
| US2003009603A1 | Cites | United States of America | Search report |
| US2003009603A1 | Cites | United States of America | Examiner |
| JP2003178015A | Cites | Japan | Search report |
| US2003182388A1 | Cites | United States of America | Examiner |
| US2003182388A1 | Cites | United States of America | Search report |
| JP2004213271A | Cites | Japan | Search report |
| JP2004318822A | Cites | Japan | Search report |
| US2005066335A1 | Cites | United States of America | Examiner |
| US2005066335A1 | Cites | United States of America | Search report |
| JP2005157682A | Cites | Japan | Search report |
| US5649105A | Cites | United States of America | Search report |
| US5649105A | Cites | United States of America | Examiner |
| JPH07244720A | Cites | Japan | Search report |
14 members in 6 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 11242606 | United States of America | – | |
| 24260605 | United States of America | A | |
| 24260605 | United States of America | A | |
| 2006038741 | United States of America | W | |
| 2006038741 | United States of America | W | |
| 2005242606 | – | – | – |
| 2006038741 | – | – | – |
| US20050242606 | – | – | – |
| WO2006US38741 | – | – | – |
Members14
| Document | Office | Kind | |
|---|---|---|---|
| US2007079249A1 | United States of America | A1 | |
| WO2007041618A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP1934820A1 | European Patent Office (EPO) | A1 | |
| KR20080064824A | Republic of Korea | A | |
| CN101278281A | China | A | |
| EP1934820A4 | European Patent Office (EPO) | A4 | |
| JP2009510648AThis record | Japan | A | |
| US7870493B2 | United States of America | B2 | |
| US2011072365A1 | United States of America | A1 | |
| JP4989654B2 | Japan | B2 | |
| KR101292446B1 | Republic of Korea | B1 | |
| US8839119B2 | United States of America | B2 | |
| US2014351223A1 | United States of America | A1 | |
| EP1934820B1 | European Patent Office (EPO) | B1 |
24 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 2009510648
- Publication, DOCDB
- 2009510648
- Publication, EPODOC
- JP2009510648
- Application
- 2008534636
- Application, DOCDB
- 2008534636
- Application, EPODOC
- JP20080534636
Titles2
- Japanese
- 分散型クリップボード(DISTRIBUTEDCLIPBOARD)
- English
- Distributed clipboard (DISTRIBUTED CLIPBOARD)
Classification
- CPC, 8
- G06F9/543
- G06Q50/00
- G06F11/1446
- G06F9/546
- H04L12/1822
- G06F2209/544
- H04L12/12
- H04L12/1831
- IPC, 5
- G06F13 00
- G06F15 00
- G06F21 20
- G06F21 24
- G06F21 62
Designated states4
- Regional, 4
- Zimbabwe
- Turkmenistan
- Türkiye
- Togo