TECHNICAL FIELD The present invention relates generally to a method for digital communications, and more particularly to a method for the transferring of objects in a communications network.
BACKGROUND Situations can arise in a communications network when it is desired that objects, such as data, multimedia, and so forth, be transferred from a plurality of devices to a single device or from the single device to the plurality of devices. An example of such a communications network can be seen in a classroom situation, wherein a single device (which can be used by an instructor) is connected to a plurality of devices (which can be used by students). The instructor can distribute information (in the form of data, multimedia, and so on) to the students or the students can submit information to the instructor.
In a situation when the single device desires objects from the plurality of devices, the single device can transmit an invitation to each of the plurality of devices and request that the objects be provided. The invitation may include a specified name(s) that should be applied to the object(s). For example, in the instructor/student environment, the invitation may include a recommended name for the object, such as “Student_Name—Object_Name,” “Homework—Friday—Week3,” or “Journal Entries—Week4,” and so forth, as well as contain instructions on how to proceed. The specification of the name for the object can help simplify the handling and organization of the object when they are received at the single device. In addition to being used to request the transmission of an object, the invitation can also be used to provide the object to the plurality of devices. For example, in the instructor/student environment, the invitation can include the object necessary for an assignment or for an examination. Note that the term object may be used in both the singular and plural sense.
Another technique can involve the use of a message that is provided to each of the plurality of devices and can contain information regarding a desired location where to store the requested object or where to obtain the object. This technique can be referred to as a ‘file server’ technique since a location (typically on a server of some type) is specified (by the message) for use as either a storage location or a server location for the object. The recipients of the message can then navigate to the specified location and retrieve the object or place its own object.
One disadvantage of the prior art is that when there is a response to the invitation by the plurality of devices, a situation may be created wherein there is insufficient network bandwidth to support the transfer of the object. This can especially be a problem in wireless communications networks where network bandwidth can be limited. The insufficient network bandwidth can lead to a significantly degraded performance that can substantially delay the transfer of the object.
A second disadvantage of the prior art is that it is possible that the users assign a name to the object that is different from the recommended name. This inconsistent naming can make it difficult to organize the multiple objects received from the users.
Yet another disadvantage of the prior art is that the users can produce a wide variety of object types in response to an invitation. For example, in the instructor/student environment, one student may produce a simple text file while another may produce a complex multimedia presentation consisting of many files in response to the same assignment. This can lead to further difficulty in the organization of the multiple objects received from the users as well as increasing the potential for the instructor to misplace files.
An additional disadvantage of the prior art is that the file server solution can lead to difficulties for the users when they need to navigate through potentially complex file structures to locate the object that they are to retrieve or to find locations where they are to place the object. This can lead to the object being placed in incorrect locations and/or the inability to locate the object.
SUMMARY OF THE INVENTION These and other problems are generally solved or circumvented, and technical advantages are generally achieved, by preferred embodiments of the present invention which provides a method for the transfer of objects in a communications network.
In accordance with a preferred embodiment of the present invention, a method for initiating a transfer of an object with context with an invitation is provided. The method comprises defining an object location, providing descriptive information for the invitation, specifying a recipient of the invitation, and issuing the invitation.
In accordance with another preferred embodiment of the present invention, a method for transferring objects in a communications network with an invitation is provided. The method comprises defining an object location, providing descriptive information for the invitation, specifying a recipient of the invitation, issuing the invitation, receiving a response to the invitation, and initiating the transfer of the object.
An advantage of a preferred embodiment of the present invention is that the invitation can be used schedule access to the communications network during the transfer of the object to help reduce the contention for network bandwidth, which can be detrimental to overall network performance. By spreading network bandwidth demand over time, it can be possible to achieved good transfer data rates for all transfers.
A further advantage of a preferred embodiment of the present invention is that the invitation can be used to transfer an object of any arbitrary name to a specified location and correctly label the object so that it can be readily identified. The proper labeling can reduce the likelihood of misplacing the object that can occur when the object must have a specified name.
Yet another advantage of a preferred embodiment of the present invention is that the invitation can logically group multiple objects together to help prevent confusion when multiple objects are transferred. By grouping multiple objects into a single logical object, such as by object name, device, user name, or so forth, the multiple objects can be kept together to help prevent object loss as well as confusion.
Another advantage of a preferred embodiment of the present invention is that the invitation can be embedded with specifics such as storage locations, server addresses, and so forth. This prevents the recipients of the invitations from having to know such technical information as well as preventing mistakes of incorrectly entering (or selecting) addresses that can result in the misplacement of the objects.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiments disclosed may be readily utilized as a basis for modifying or designing other structures or processes for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a diagram of an exemplary communications network;
FIG. 2 is a diagram of interactions between an instructor and students, when the instructor requests the submission of work created by the students;
FIGS. 3aand3bare diagrams of the creation of an invitation to request the submission of objects and the operation of a receiver of the invitation, according to a preferred embodiment of the present invention;
FIGS. 4aand4bare diagrams of the creation of an invitation to request the retrieval of posted objects and the operation of a receiver of the invitation, according to a preferred embodiment of the present invention; and
FIG. 5 is a diagram of the creation of an invitation, wherein scheduling is used to reduce network contention, according to a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS The making and using of the presently preferred embodiments are discussed in detail below. It should be appreciated, however, that the present invention provides many applicable inventive concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention.
The present invention will be described with respect to preferred embodiments in a specific context, namely a communications network for use in an instructional setting with a host device, used by an instructor, and a plurality of other devices coupled to the host device, wherein the other devices are used by the students. The invention may also be applied, however, to other communications networks wherein a single device wishes to transfer objects to multiple other devices or receive objects from multiple other devices.
With reference now toFIG. 1, there is shown a diagram illustrating anexemplary communications network100. Thecommunications network100, as shown inFIG. 1, illustrates an instructional setting wherein acomputer105 being used by aninstructor107 can be coupled to one or more devices (electronic devices)110. Thedevices110 can be used bystudents112 on an individual basis or in a group sharing fashion. The coupling between thecomputer105 and thedevices110 can be either with awired connection115 or awireless connection120 or a combination of both. As shown inFIG. 1, thecommunications network100 can feature a combination of wired and wireless connections. Note that while the diagram inFIG. 1 displays asingle computer105, in practice, thecommunications network100 can havemultiple computers105 that can be coupled to thedevices110. For example, a situation may arise wherein the instructional setting may haveseveral instructors107, each with aseparate computer105.
One possible use of thecommunications network100 can be the distribution of objects, such as data, multimedia, information, and so forth, between thecomputer105 and thedevices110. The distribution of the objects can originate at thecomputer105 or terminate at thecomputer105. For example, thestudents112 can use thecommunications network100 to submit work to theinstructor107 or retrieve assignments, examinations, information from theinstructor107. In general, thecommunications network100 can be used to exchange information between a single device and multiple devices.
With reference now toFIG. 2, there is shown a diagram illustrating an exemplary interaction between instructor and students (and their electronic devices) when the instructor requests that the students submit work. As shown in the diagram inFIG. 2, actions made by theinstructor107 and thestudents112 are displayed along a vertical axis with time increasing in a descending direction. Theinstructor107 can initiate the submission of the work from thestudents112 by transmitting a “turn in” request (shown inFIG. 2 as line200) from a computer, such as thecomputer105, to thestudents112 via their devices, such as thedevices110. The “turn in”request200 is provided to each of thestudents112, shown inFIG. 2 aslines201 and202. The “turn in”request200 may simply be broadcast to each one of thedevices110 from thecomputer105. Alternatively, the “turn in”request200 may be directed at a subset ofstudents112.
The “turn in”request200 may specify what theinstructor107 wishes thestudents112 to turn in (an object, such as files, documents, and so forth) and where to turn in the object. As each of thestudents112 receives the “turn in”request200, the students can select the object to turn in and submit the object. The transfers of the object resulting from thestudents112 turning in the requested work is shown inFIG. 2 aslines205,207, and209. Note that it may be possible that the student may submit more than one object in response to the “turn in” request. In such a situation, the term object can be used to also refer to the multiple objects.
Several problems may arise from this type of interaction. For example, a student may have incorrectly named the object that is being submitted. This misnamed object can provide difficulties for theinstructor107 when it comes time for theinstructor107 to evaluate the work of the student. The difficulties may include not being able to locate the object since it is named incorrectly, not being able to associate the object with the student who submitted the work, and so forth. Another problem that may arise is that it can be difficult for theinstructor107 to associate an object with a student if each of thestudents112 submits objects with the same name. Furthermore, students may create different numbers and types of objects in response to a particular assignment. For example, in response to an assignment, one student may produce a simple text file, while another may produce a complex multimedia document with a multitude of files and documents.
Yet another problem may arise if thestudents112 should attempt to submit their work at substantially the same time. If thestudents112 attempt to submit their work at the same time, it may be possible for thecommunications network100 to become saturated and the performance (data transfer rate) of thecommunications network100 could drop to a very low level. This could greatly increase the amount of time required to successfully transfer the students' work.
A different “turn in” request (also referred to as an invitation) can be devised to help alleviate the problems discussed above. It can be possible to assign a unique identifier to each student's object so that theinstructor107 can readily identify the work. Additionally, when a student submits multiple objects, the multiple objects can be physically or logically grouped into a single object to help reduce problems such as misplacing objects or losing some of the objects. Furthermore, the submissions of the students' work can be scheduled to help reduce contention for network resources and therefore, improving network performance.
With reference now toFIGS. 3aand3b, there are shown flow diagrams illustrating the creation of an invitation to request the submission of an object and the operation of a receiver of the invitation, according to a preferred embodiment of the present invention. The diagram shown inFIG. 3aillustrates an exemplary sequence ofevents300 in the creation of an invitation to request the submission of an object by a recipient of the invitation. The sequence ofevents300 can begin with the specification of a desired location for storing the object (block305). The desired location may be a directory on a storage device, for example. The creator of the invitation can specify the desired location by browsing a file structure tree and then selecting the desired location from the file structure tree (or something similar), for example. According to a preferred embodiment of the present invention, the desired location can be specified by a user that is transmitting the invitation and can be set so that the recipient of the invitation can or cannot change the desired location. If the desired location is set so that it cannot be changed, then the object submitted by the recipient can be ensured of being placed in the desired location, simplifying the location of the object at a later time. After specifying the storage location of the object (block305), the user can add descriptive information and/or instructions (block310). The descriptive information and/or instructions can be used by the user to provide any necessary information to the recipient of the invitation on how to respond to the invitation, remind the recipient about submitting the object, and so forth.
After the user completes the addition of the descriptive information and/or instructions (block310), the user can specify the recipient(s) of the invitation (block315) and then issue the invitation (block320). The specification of the recipient(s) does not necessarily need to occur immediately prior to the issuance of the invitation. The creator of the invitation may specify the recipient(s) of the invitation at any time prior to the issuance of the invitation inblock320. The issuance of the invitation can result in the transmission of the invitation to the recipient(s) of the invitation. According to a preferred embodiment of the present invention, the invitations can be transmitted immediately or they may be scheduled for subsequent transmission. One reason to schedule the transmission of the invitation can be to potentially reduce network resource contention by transmitting some fraction of the total number of invitations at any given time. Another reason to schedule the transmission could be to permit the user to schedule the invitation at a time advance of when the user desires the invitations to be transmitted and not have to create the invitations at the desired transmission time.
After the invitation is issued, the invitation is provided to each of the recipients. After a recipient responds to the invitation, the object is transferred from the recipient to the desired location for storing the object. If there is more than one recipient, then the object from each recipient can be assigned a unique identifier to help prevent identification problems. When a recipient has more than one object to submit, the objects can be grouped into a single unit to simplify transfer and help to prevent confusion, the combination of the multiple objects into a single unit is discussed below.
The diagram shown inFIG. 3billustrates an exemplary sequence ofevents350 that can occur at a recipient of an invitation that requests the submission of an object. The sequence ofevents350 can begin after the recipient of the invitation actually receives the invitation. Depending upon the type of communications network, the invitation may be received at the recipient over a wired or wireless communications link. After receiving the invitation, the invitation can be displayed to the user (block355). The invitation can be displayed on a display of a device that the user is operating, for example. The display of the invitation can include audio and video cues to help the user take notice of the arrival of the invitation. After reading the invitation (the content of which was supplied by the creator of the invitation, such as shown inblock310 ofFIG. 3a), the user can select the object to submit to the creator of the invitation (block360).
According to a preferred embodiment of the present invention, the user can select the object that he/she desires to submit and if the user selects multiple objects, they can either be physically or logically combined into a single unit. The user can select the object to be submitted by browsing a file structure tree and then selecting the object, for example. Alternatively, if the user knows the specific location of the object, he/she can enter it directly. The combination of multiple objects into a single unit can simply the transmittal and processing of the objects when submissions from multiple sources are expected. The invitation may contain a script or an application to actually perform the combination of multiple objects into a single unit. Alternatively, the invitation may be permitted to make use of applications, such as a file archive utility, installed in the device of the user to perform the combination operation. In addition to combining objects into a single unit, the invitation can also be able to specify a unique name (or identifier) for the object to enable easy identification of the object after it has been transmitted. According to a preferred embodiment of the present invention, the invitation may be able to suggest a default name for the object being submitted by the user. However, depending upon implementation and/or permissions set by the creator of the invitation, the user may or may not be able to change the default name. Regardless, the invitation can attach a unique identifier to the submitted object.
After selecting the object that he/she wishes to submit (block360), the user can respond to the invitation (block365). Responding to the invitation can result in the actual submission of the selected object and can involve the assignment of the unique identifier to the object, the combination of multiple objects into a single unit, and the transmission of the object. In addition to being able to suggest a name for the object, the invitation may also specify a destination for the object. Again, the user may or may not be able to change the destination of the object, depending upon implementation and/or permissions set by the creator of the invitation.
According to yet another preferred embodiment of the present invention, rather than transferring the object selected by the recipient, a metatag (or a group of metatags if more than one objects are selected for transfer) can be transferred in its place. When received, the metatag can provide an address to access the object so that the actual object can be retrieved when needed, rather than having the object immediately transferred when the recipient responds to the invitation. The use of metatags can help alleviate potential network resource contention issues as well as object storage problems at the recipient.
Depending upon implementation and/or permissions, the use of invitations to initiate submissions of an object can lead to a situation wherein the object from a plurality of recipients can all be located at a desired location as well as having unique identifiers that will make it simple to locate the submitted objects. Additionally, the submission of multiple objects from a single recipient can be readily supported by combining the multiple objects into a single unit. The use of the invitations can also permit the creator of the invitations to logically group the submitted objects into logical and physical groupings that can permit efficient organization and storage of the submitted objects. For example, in an instructor/student environment, an instructor can group submissions by students into different classes, assignments, weeks, terms, and so forth.
With reference now toFIGS. 4aand4b, there are shown flow diagrams illustrating the creation of an invitation to request the retrieval of a posted object and the operation of a receiver of the invitation, according to a preferred embodiment of the present invention. The diagram shown inFIG. 4aillustrates an exemplary sequence ofevents400 in the creation of an invitation to initiate a transfer of an object to a recipient. The sequence ofevents400 can begin with the specification of the object to be transferred by providing a source of the object (block405). As discussed previously, the creator of the invitation can browse a file structure tree to specify the object to be transferred. According to a preferred embodiment of the present invention, if multiple objects are to be transferred, the objects may or may not be logically or physically grouped into a single unit prior to transfer and the creator of the invitation may specify a single unit or the individual objects to be transferred.
After providing the source of the object, the creator of the invitation can provide descriptive information or instructions regarding the object (block410). For example, the creator can provide a description of the object that will be transferred if the recipient responds to the invitation, instructions on what the recipient can or is expected to do with the object once the objects have been transferred, and so on. The creator of the invitation can then specify the recipient(s) of the invitation (block415) and then issue the invitation (block420), which will result in the transmission of the invitation to one or more recipients. As discussed above, the specification of the recipient(s) does not necessarily need to occur immediately prior to the issuance of the invitation. The creator of the invitation may specify the recipient(s) of the invitation at any time prior to the issuance of the invitation inblock420.
The diagram shown inFIG. 4billustrates an exemplary sequence ofevents450 that can occur at a recipient of an invitation that requests a transfer of an object. The sequence ofevents450 can begin after the recipient of the invitation actually receives the invitation. After receiving the invitation, the invitation can be displayed to the user (block455). After reading the invitation, the user can select a destination where the transferred object will be stored (block460). Then, the user can respond to the invitation (block465). Responding to the invitation can result in the immediate transfer of the object to the user or may result in the scheduling of a subsequent transfer of the object to the user, depending upon the implementation of the invitation.
As discussed above, the immediate acceptance of an invitation by a large number of recipients can result in an oversaturated communications network that can lead to poor network performance. Therefore, there may be a desire to help reduce the contention for network resources. One possible technique that can help reduce contention for network resources is to spread out the demand for the network resources over time so that there is not a large number of users receiving invitations and then demanding network resources at any given time.
With reference now toFIG. 5, there is shown a flow diagram illustrating the creation of an invitation, wherein scheduling is used to reduce network contention, according to a preferred embodiment of the present invention. The diagram shown inFIG. 5 illustrates an exemplary sequence ofevents500 in the creation of an invitation that can be used to either request the submission of an object or the retrieval of a posted object. The sequence ofevents500 can begin with the creator of the invitation defining either a source or a destination of the object being transferred (block505). If the invitation is to be used to request the recipient of the initiation to submit an object, then the creator can define a destination where the submitted object will be stored. If the invitation is to be used to inform the recipient to retrieve a specified object, then the creator can define a source of the object.
After the definition of the source or destination of the object (block505), the creator of the invitation can provide descriptive information and/or instructions for the invitation (block510). As discussed previously, the descriptive information may provide the recipient information regarding the object that they are to submit or receive, while the instructions may provide the recipient with needed help on how to respond to the invitation, for example. Once the invitation has been completely specified by the creator, scheduling information can be provided (block515). According to a preferred embodiment of the present invention, the scheduling information can be provided by the creator of the invitation. Alternatively, the scheduling information can be generated by the electronic device used by the creator to transmit the invitation. An exemplary schedule for invitation transmission times based different groups of recipients is shown inblock520.
An example of creator generated scheduling can be a list of recipients of the invitation and time when the invitation should be transmitted to each of the recipients. Another variation can be a list of recipients of the invitation and a time that corresponds to a delay that is assessed on the recipient after the recipient responds to the invitation prior to the transfer of the object. Similarly, if the scheduling information is to be generated by the electronic device, then each invitation may be assigned a randomly selected transmit time, or alternatively, a randomly selected delay may be assigned to each invitation. Yet another preferred embodiment may be having a list of delays with a delay associated with each recipient and then referencing the list of delay when scheduling the transmission of the invitation or the forced delay. In addition to scheduling invitations (or delays) for each recipient, the scheduling can also occur for groups of recipients, as long as the number of recipients within a group is not so large that their resulting object transfers would negatively affect network performance.
After the scheduling has been completed (block515), then the recipient(s) of the invitation can be specified (block525) and then the invitations can be issued (block530). If the scheduling affects the transmit time of the invitations, such as the exemplary scheduling shown inblock520, then an invitation will be transmitted only when its scheduled time is equal to the local time at the electronic device transmitting the invitations. If the scheduling affects a delay asserted on each invitation response, then the delay may be inserted into the invitation and all invitations can be transmitted at substantially the same time.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.
Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed, that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.